Skip to main content

Full text of "Sinc Link"

See other formats


SEPT  -  OCT  3 1  VOL.  9  NO.  5 


TALL  AGAIN  ISSUE 

page  2  Club  Stuff 

page  3         Editorial  &  A  Few  Thoughts 

page  4,5      Bob's  Notebook  -  Toolkit  Pact  3  (2068) 

page  6-10    Printer  Interfaces  £  Driver  Software  (2068) 

page  10       Mystery  Program  (ZX81/TS1000 ) 

page  11        TorQLib  -  QL  Library  (QL) 

page  12,13  Dayton  Computer f est  1991 

page  14-16  LKDOS  User-Defined  Commands  (2068) 

page  16       Scroll  Clear  (ZX81/TS1000) 

page  17       New  PRINT  FACTORY  Graphics  (2068) 

page  18,19  GOLD  CARD  Review  (QL) 

page  20,21  Bob's  Notebook  -  Toolkit  Part  4  (2068) 
page  22  Ramblings 

page  23-25  Bob's  Notebook  -  Autoboot  s  Grafix24  (2068) 

page  25        Faster  Slow  Node  ( ZX81/TS1000 ) 

page  26        One  Sided  Disks  Do  Not  Exist 

page  27       Digital  Clock  Program  (2068) 

page  28,29  Advertisements 

page  30       Overseas  Letter  (QL) 


TORONTO  TIMEX-SINCLAIR  USERS  CLUB 


SINC 


SINC-L  INK  IS  A  PUBLICATION  OF 
THE  TORONTO  TIMEX-SINCLAIR  USERS 
CLUB  AND  IS  ISSUED  6  TIMES  A 
YEAR.  COPIES  OF  THE  NEWSLETTER 
ARE  $1.50  EACH  FOR  NON-MEMBERS. 
CLUB  MEMBERS  RECEIVE  FREE  COPIES 
AS  PART  OF  THE  $20. 00  ANNUAL 
MEMBERSHIP  FEE.  A  NEWSLETTER 
SUBSCRIPTION  ONLY  IS  AVAILABLE 
FOR  $12. 00. 

NEWSLETTERS  ARE  EXCHANGED,  FREE 
OF         CHARGE,  WITH  OTHER 

TIMEX-SINCLAIR  USERS  GROUPS. 

PLEASE  CREDIT  THIS  PUBLICATION 
AND  THE  AUTHOR  IF  vqu  COPY 
MATERIAL. 

THE     CLUB     MEETS     ON     THE  FIRST 
WEDNESDAY     OF     EACH     MONTH  AT 
FOREST         HILLS  COLLEGIATE 
INSTITUTE,    7 JO  EGLINTON  AVE.    W.  , 
TORONTO. 

SINC-L INK  IS  PRODUCED  ENTIRELY 
ON  SINCLAIR  AND  TIMEX-SINCLAIR 
COMPUTERS. 

SEND  CCRRESPONDANCE  TO: 

Attention:  SINC-L INK  EDITOR 
TORONTO  TIMEX-SINCLAIR  USERS 
CLUB,  14         RICHOME  COURT, 

SCARBOROUGH ,    ON  TAR  I O , 
CANADA  M1K  2Y1 


LINK 

SEPT  -  OCT  '3 1 


VOL.9  NO. 5 


TORONTO  TIttEX-SINCLftIR 
USERS  CLUB 


EXECUTIVE  OFFICERS : 

PRESIDENT 
TREASURER 
SECRETARY 
ACTIVITIES: 
TAPE  LIBRARIAN  ZX81 : 
TAPE/DISK  LIBRARIAN  QL : 
PAPER  LIBRARIAN: 
NEWSLETTER: 
LIAISON  OFFICER: 
(  Out-of-town  members  ) 


(Area  Code  416) 
RENE  BRUNEAU   (  531-9749  ) 
BILL  LAWSON   (  444-8772  ) 
GEORGE  CHAMBERS   (  751-7559  ) 
RENE  BRUNEAU   (  531-9749  ) 
LYMAN  PAQUETTE   (  482-4479  ) 
HUGH  HOWIE  (  634-4929  ) 
JEFF  TAYLOR  (   244-8583  ) 
JEFF  TAYLOR   (   244-8583  ) 
GEORGE  CHAMBERS.    14  RICHOME  COURT 
SCARBOROUGH.   ONTARIO.  M1K  2Y1 
(  416-751-7559  ) 


TORONTO  TIMEX-SINCLAIR  USERS  CLUB 


Editorial 


The  new  club  executive  will  be 
voted  in  by  the  in-town  members 
at  the  October  meeting.  While 
this  arrangement  seems  to  work 
for  us,  I  can't  help  but  wonder 
if  we  could  be  doing  more.  Are 
you  being  served?  Can  you  think 
of  something  that  you'd  like  to 
see  changed  or  improved?  We're 
here  to  help.  Just  let  us  know. 

Special  thanks  to  Dan  Elliott 
of  Cabool,  Missouri, for  his 
quick  repair  of  one  of  our  blown 
2068s.  While  he  can't  promise 
such  fast  service,  I  think  a  two 
week  turnaround  is  pretty 
amazing.  See  his  info  sheet  in 
this  issue. 

By  the  way,  I  want  to  see  more 
articles.  Well,  what  else  would 
you  expect  an  editor  to  say? 

That's  all  for  now... 

J.T. 


RAINY  DAY  THOUGHT-  —  

Was  out   fishing  recently  when  the 
rain  came  skipping1  and  splashing 
across   the  surface  of   the  lake.  I 
just   sat   there  and  the  thought  came 
to  me  that   this   is  how  Noah  must 
have  felt   in  the  Great  Flood  as  the 
rains   came  thundering  down.  Next 
thought  was   that  he  must  have  spent 
a  lot  6*f  time  fishing. 
Final   thought  was   that   in  the  midst 
of  all   that  water  Noah  could  not  do 
much  f i shing . 

He  only  had  two  worms  

H  .  H  •  H  • 


DID  YOU  KNOW  ?? 

THAT  THE  BRITISH  TREASURY  USED 
ROMAN  BEAN  COUNTERS  UNTIL  1826  ! ! 
THAT'S  RIGHT  1826. 

ACCORDING  TO  AN  ARTICLE  IN  THE 
TORONTO  STAR    (AUG  27  91) 

—   Ill   INTO  XVI   DOESN'T  COMPUTE  — 

Q  -  HOW  DO  YOU  ADD  AND  SUBTRACT 
ROMAN  NUMERALS  ? 

A  ~  THERE  IS  NO  ABSTRACT  SYSTEM. 
EITHER  CONVERT  THEM  TO  ARABIC 
NUMERALS  OR  DO  AS  THE  ROMANS  DID: 
GET  AN  ABACUS. 

SINGLE  SUMS  THEY  DID  IN  THEIR  HEADS 
OR  ON  THEIR  FINGERS.  AS  SHORT  CUTS, 
ONE  HAND  ADDED  UP  TO  V.  BOTH  HANDS 
CAME  TO  X.  THEN  THEY  TOOK  OFF  THEIR 
SANDELS  OR  GOT  OUT  THE  OLD  ABACUS. 
USUALLY  IT  WAS  JUST  A  FLAT  SURFACE 
(•from  the  GREEK  abax)  MARKED  WITH 
COLUMNS  OF  THE  SHORT-CUTS  (V  X  C 
etc.)  AND  THEY  SHOVED  PEBBLES  OR 
BEADS  SHAPED  LIKE  HAMBURGER  BUNS 
AROUND  IT.  WHEN  THEY  GOT  10  I'S 
THEY  MOVED  ONE  COUNTER  TO  THE  X 
COLUMN,      AND     SO     ON.  TRICKS  TO 

COMPLICATED  TO  EXPLAIN  HERE 
PERMITTED  ADDITION,  SUBTRACTION 
AND,  TO  SOME  EXTENT,  MULTIPLICATION 
AND  DIVISION. 

IT  WAS  A  CLUMSY  SYSTEM,  EVEN  WHEN 
BEADS  OR  METAL  COUNTERS  WERE  STRUNG 
ON  WIRES  TO  MAKE  A  SORT  OF  POCKET 
CALCULATOR,  BUT  IT  PERSISTED  IN 
EUROPE  FOR  CENTURIES  BECAUSE  ONLY 
SCHOLARS  GRASPED  ARABIC  (ACTUALLY 
HINDU)  NOTATION. 

NOW  AREN'T  YOU  PLEASED  YOU  HAVE  A  QL 
BILL  LAWSON 


SINC-LINK 


3 


BOB'S    No tebo ok     By  SrtiStt£ttl&.t. 

iaiM  Ul'l       PROGRAMMING  OPTIONS... 

This  is  the  third  in  the  series  of  tutorials  on  TOOLKIT;  this 
tine,  some  of  options  useful  in  altering  listings  will  be 
covered.  The  remainder  will  be  included  in  the  final  part  next 
t  i  me . 

RIGHT  JUSTIFICATION... 

Vou  may  have  noticed  that  these  articles  are  being  prepared 
using  the  Pixel  Print  Professional  <PPP>  progran  also  available 
from  the  club  library.  In  the  first  article,  I  started  with  no 
right  justification  which  is  my  preference  because  of  the 
strange  spacing  encountered.  Nevertheless,  I  did  the  second 
using  the  Hscript  to  PPP  conversion  routine  provided  by  Stan 
Lemke  which  does  its  own  justification  and  so  I'll  stay  with 
this  latter  method  for  the  remaining  two  articles.  Compare  the 
two  methods  and  decide  for  yourself  which  you  prefer  whenever 
you  use  PPP. 

TUO  NOTES  RE  PROMPTS. . . 

i>  All  prompts  requiring  line  numbers  actually  reject  any  line 
above  9996.  This  leaves  three  lines  which  can  be  used  for  SRUE 
or  other  routines  and  of  course  line  9999  which  is  best  made 
RANDOMIZE  USR  60606  <6E4  if  you  want  to  save  bytes).  This  is  a 
handy  way  of  reactivating  TOOLKIT  from  BASIC:  a  quick  60  TO  9999 
and   there's  the  menu. 

2>  Vou  can  avoid  the  awkward  entering  of  TOKENS  in  SEARCH 
strings  by  turning  ON  the  DISABLE  NEW  option  <W>.  If  you  are 
searching  for,  say,  all  60  TOs,  hold  down  the  Symbol  Shift  and  A 
key  and  the  next  key  press  will  be  taken  as  K  mode,  ie,  pressing 
g  will  input  60  TO.  Much  easier  than  all  that  deleting,  backing 
up  and   going  forward  you  are  probably  used  to. 

PROGRAMING  OPTIONS. . . 

The  following  options  are  extremely  useful  to  anyone  who  does  a 
lot   of   meddling  with   listings,    either     his/her     own     or  someone 

else's.  Two  of  the  ones  I  use  most  often  are  Search  and  List  and 
Search  and  Replace.    Let's  examine  them  first. 

@  SEARCH  AND  LIST 

As  usual  with  many  of  the  TOOLKIT  options,  the  start  and  finish 
lines  are  requested.  The  next  prompt  is  for  a  string  of 
characters  or  TOKENS  (see  note  2  above)  not  more  than  32  in 
number.  The  display  will  then  very  quickly  show  all  the  lines 
containing  the  given  string.  If  you  want  this  information  to  go 
to  the  TS2646  printer,  BREAK  into  BASIC  before  using  this  option 
and  enter  OPEN  #2,"p";  then  all  the  output  will  go  to  the 
printer  but  the  prompts  and  menu  will  stay  at  the  screen.  If  you 
prefer  to  use  your  wide  printer,  make  it  RANDOMIZE  USR  166:  OPEN 
#2,,,lp".    Remember   to  set   the   line   length  and   left   margin,  etc. 

When  searching  for  a  TOKEN,  eg,  REM,  you  may  get  lines  with  no 
REM  in  them.  But  the  code  for  REM  will  be  part  of  the  line 
content   and  there's  no  way  to  avoid  this. 


B  ALTER  PR06RAN  ==  SEARCH  AND  REPLACE 


As  with  Search  and  List,  the  start  and  finish  lines  are 
requested.  Now  the  prompts  are  for  OLD  and  NEW  strings,  strings 
meaning  any  sequence  of  characters  or  TOKENS  (see  note  2  above) 
from  the  listing.  The  OLD  and  the  NEW  can  be  of  different 
lengths.  There  is  a  LIST  option  which  I  never  use  but  which 
should  be  OK   if   the  number  of   alterations   is  short. 

If  the  string  to  be  altered  contains  floating  point  numbers,  it 
is  necessary  to  alert  the  program  by  entering  three  ampersands 
before  and  after  the  number  in  either  or  both  OLD  STRIN6  or  NEW 
STRIN6.  For  example,  to  change  66  T6  3686  to  66  T6  jj  wherever 
it  appears  in  a  listing  (block),  the  form  would  be:  <6LD  STRIN6: 
66  T6  &a&3888&&&,  NEW  STRIN6 :  66  T6  jj>.  The  maximum  string 
length  in  each  case  including  the  ampersands  is  32.  If  you  use 
BIN,  put  the  ampersands  before  the  BIN  and  after  the  bits.  Vou 
can  get  Error  6  if  the  number  is  too  large  or  even  Error  4  but 
no  damage  will  occur. 


SINC-LINK 


H  DELETE  LINES 

Enter  the  start   and  finish   lines;    needed  for  Spectrum  only. 

H  MERGE  LINES 

Makes  a  specified  block  of  lines  into  ONE.  Match  out  for  GO  TO 
destinations,  REM  lines  and  the  liftit  of  127  commands  per  line. 
Frankly,  long  lines  can  be  a  real  nuisance:  in  tight  memory 
situations  they  are  difficult  to  EDIT  or  return  to  the  listing; 
the  longer  the  line  the  slower  the  cursor  movement  when  it  is 
being  EDITed .  I  seldom  use  this  one  but  I  do  have  a  separate 
utility  that  will  undo  such  a  ness  if  anyone  is  interested.  It 
breaks  a  line  down  into  its  separate  statements,  each  with  its 
own   line  number. 

UPPER  CASE 
LDUER  CASE 

Uery  useful  when  tidying  up  a  listing.  Since  it  is  easier  to 
spot  TOKEHs  if  all  variables  are  in  lowers,  it  is  better  to  have 
the  listing  in  all  lowers,  except  for  texts  in  strings.  These 
two  options  allow  you  to  convert  letters  between  specified  lines 
and  gives  you  the  option  to  include  or  exclude  characters  inside 
the  string  quotes.  There  is  also  a  good  utility  provided  by 
Steven  Gunhouse  and  available  in  the  Omnibus  disk  which  lets  you 
change  all  variables  into  lower  case.  TOOLKIT  cannot  be  this 
sel ect  i  ve . 


H  LOCATE  TOKEN 


This  givens  the  address  in  both  decimal  and  hex  of  the  first 
character  after  the  line  number  and  length  pointer  in  a  stated 
line;    it   gives  an  error   if    the   line   is  non-existent. 


H  COHPACTOR 


Enter  the  start  and  finish  line.  This  option  then  deletes  any 
unnecessary  characters,  (eg,  spaces  and  colour  controls)  OUTSIDE 
quotes.  It  ignores  lines  starting  with  REM  but  will  affect 
messages  after  REMs  occurring   later   in  a  line. 

This   is  a  sample  of   a  Search  a  List   of   the  token  REM   in  a 
block  of    lines  between  4600   and  7000. 

Note   that    line  6240  does  not   show  a  REM.    Toolkit  cannot 
distinguish  between   the  code   for  REM  which    is   234  and   a   234  as 
part   of   a  number.    In  this  case  6e4=60000=234*256+96 . 

4230  GO  TO  m3:    REM  D 

4306  GO  SUB  2246:    GO   TO  4110:    REM  K 

4366  GO  SUB  2306:    GO   TO   4116:    REM  Q 

4428  PRINT  Mod:    GO  TO  ob :    GO  TO  1166:    REM  M 

5266  PRINT  ttod :    GO   TO   od :    PRINT   ttod :    LORD   "doctor .Bb  "  s    REM  R 

6266  GO  SUB  2488:    GO   TO   m3s :    REM  R 

6240  PRINT   ttod:    LORD      tstk.Cl   CODE    :    RRNDOMIZE   USR  59696: 
RRNDOMIZE  USR  6e4 

6488  GO   SUB   2578:    GO   TO   m3 :    REM  U 


SINC-LINK 


PRINTER   INTERFACES  AND  DRIVER  SOFTWARE 
A  primer  by  George  Chambers 

GENERAL 

There  are  a  number  of  printer  interfaces  ava  i I ab I e  to  TS2068  owners 
who  decide  they  want  to  hook  a  large  printer  onto  their  TS2068,  This 
series  of  articles  is  intended  to  remove  some  of  the  mystery  surround  ing 
the  use  of  large  printers  on  the  TS2068. 

These  articles  will     be  confined  to  the  printer  inter faces/dr iver 
software  that  I  am  familiar  with;  namely  Tasman,  Aerco,  Hacksel,  and 
Larken  LKDOS.    I  will  not  attempt  to  cover  the  same  ground  as  the 
instruction  sheets  for  each  of  these  systems.  Rather  I  shall  try  to  convey 
a  sense  of  how  each  system  operates,   and  the  id iosyncrac ies  of  each,  and 
the  differences  between  them,   which  often  lead  to  confus ion. 

Since  I  certianly  do  not  have  all  the  answers  to  this  appl  i  cat  i  on  do 
please  feel  free  to  comment  and  provide  further  enl  ightenment  on  the 
subject.    I  shall   include  your  suggestions  in  the  series. 

I  propose  to  discuss  interfaces  and  the  software  genera  1 1 y  in  the  first 

article,   then  in  subsequent  articles  cover  each  of  the  four  driver 

softwares  mentioned,   with  programming  examples  for  each. 

********************** 

The  use  of  a  large  printer  on  the  TS2068  requires  the  addition  of  a 
printer  interface  board.    This  is  a  circuit  which  translates  the  signals 
coming  from  the  2068  into  a  form  usable  by  the  printer  concerned.  There 
are  several  such  interfaces  ava i I ab I e.    Three  of  the  most  widely  used  are 
the  Tasman,   the  Aerco,  and  the  Hacksel.   There  is  also  the  Oliger,   the  A  &. 
J,  and  the  British  ZX  LPRINT,   that  I  am  aware  of. 

All  the  above-mentioned  systems  are  designed  to  drive  a  large  printer 
through  a  Centron  ics-sty I e  parallel  port. 

The  Timex  TOS  disk  system  can  also  handle  a  large  printer,   however  it  is 
designed  to  work  to  a  printer  with  a  serial  port. 

The  majority  of  printers  are  equipped  with  a  parallel  port,   some  with 
a  serial  port,   while  a  few  offer  both  serial  and  parallel  ports.   We  shall 
be  dealing  with  the  interfaces  that  serve  printers  with  a  parallel  port. 

The  Tasman  printer  interface  was  probably  the  first  one  around.    It  was 
designed  or ig inal I y  for  the  Spectrum,   and  was  later  adapted  for  use  on  the 
TS2068.   The  Aerco  iff  was  next,  and  has  proved  to  be  the  most  popular  and 
widely  used.  An  Aerco  I ook-al  ike,  built  by  Peter  Hacksel,    is  a  more  recent 
vers  ion. 

Each  of  the  interfaces  plugs  into  the  rear  bus  of  the  2068,  and  is 
connected  to  the  printer  via  a  ribbon  cable.   There  is  also  a  version  of 
the  Hacksel   interface  which  plugs  into  the  cartridge  dock,   with  the  ribbon 
coming  out  the  front  and  passing  underneath  to  the  rear  of  the  computer. 
All  these  interfaces  are  designed  to  provide  a  parallel  output  and  to  plug 
into  a  parallel  Centronics  type  port  I jack  on  the  printer. 

There  is  not  much  mystery  about  the  interface  hardware.   It  Is  simply 
there  and  does  it's  job  accord  ing  to  the  dictates  of  the  driver  software 
assoc  iated  with  it.  Consequently  we  shall  not  discuss  it  further,  but 
instead  concentrate  on  the  driver  software,   where  most  of  the 
m  i sunder stand  ing  arises. 


SINC-LINK 


Printer  Driver  Software 

Software  is  needed  to  make  the  printer  interfaces  effective.  In 
addition  to  the  driver  software  put  out  by  Tasman,  Aerco,   Hacksel,  and 
01  iger  for  their  systems,   there  have  been  a  number  of  other  drivers 
written  and  marketed.    The  Larken  LKDOS  contains  built-in  software  driver 
code,   as  does  the  01  iger  disk  system.  Jack  Dohany  has  also  put  out  driver 
software. 

This  software  consists  of  a  block  of  code  which  may  range  from  200-odd 
bytes  up  to  1300  bytes.   Sometimes  the  code   is  designed  to  reside  in  upper 
memory,   sometimes  in  the  printer  buffer.  Driver  software  with  many 
features  will  reside  in  upper  memory,  because  of  the  amount  of  space  it 
requ ires.   Where  upper  memory  is  used  by  a  large  program,   for  example 
0MN1CALC  or  MASTERF I LE,   there  is  no  room  for  the  code  in  upper  memory.  The 
Tasman  copes  with  this  by  prov id ing  several  short  versions  which  are 
installed  in  the  printer  buffer  area  starting  at  address  23296, 

We  might  mention  that   in  the  case  of  the  Tasword  and  Mscript 
word-processors,   each  have  their  own  integral  printer  driver  software.  The 
Tasword  incorporates  the  graphics  symbol  arrangement  of  "tas intcode"  for 
imp  I ement ing  printer  control  codes. 

Similarly,  Mscript  seems  to  have  adopted  the  same  sort  of  arrangement . 
The  character  ">"  at  the  start  of  a  line  tells  Mscript  that  we  are  giving 
it  a  printer  command.   Simple  control  codes  then  follow  the  ">"  symbol ,  We 
can  also  define  a  number  of  printer  control  codes  by  means  of  a  "Format 
line",   and  then  invoke  them  with  a  Function-G  command  in  the  body  of  the 
text.  See  the  word-processor  manuals  for  more  detailed  descr  i  pt  ions. 

When  we  decide  to  make  use  of  the  large  printer  the  driver  software 
must  be  loaded  into  the  computer.  And  the  computer  must  also  be  "pointed" 
to  the  location  of  this  new  software,  so  that  when  a  call  to  print  is 
given  the  computer  looks  to  this  new  software,   rather  than  to  the  2040 
software.     Let  us  backtrack  a  bit. 

When  the  2068  is  first  turned  on  it  is  set  up  ready  to  serve  the  2040 
printer.   The  software  for  this  purpose  is  located  in  ROM  at  address  1280, 
The  computer  stores  a  pointer  to  that  address  in  a  system  variable  at  a 
double  address  26703/04.   (A  variable,    incidental  I y,  not  identified  in  the 
user  manual).     If  you  PEEK  these  addresses  you  will  get  values  of  0  and  5, 
(Try  PRINT  PEEK  26703  +  256  *  PEEK  26704). 

Whenever  we  decide  to  use  a  large  printer  we  have  to  change  the  values 
in  this  "pointer"  address  so  that  it  points  to  the  start  of  our  new  driver 
software. 


The  TASMAN  software  does  this  as  part  of  it's  RAND  USR  64719 
initialization.   In  the  case  of  the  Aerco  and  Hacksel  drivers  the  correct 
values  must  be  POKEd  manually.    The  LKDOS  takes  care  of  this  internal  I y; 
with  a  default  to  the  Aerco,   If  you  have  an  Aerco  i/f  you  do  not  need  to 
worry  about  it.  Otherwise  you  need  to  do  a  POKE  to  the  Larken  ROM  if  you 
wish  to  make  use  of  a  Tasman,  A  &  J,  or  a  user-def ined  interface  routine. 

We  shall  now  deal  with  each  of  the  several  printer  drivers, 
TASMAN 

In  the  case  of  the  Tasman  software,   called  "tas intcode",    it  comes 
with  a  Baste  program  which  allows  the  user  to  customize  the  software  to 
the  needs  of  the  particular  printer  being  used.  Once  it  has  been 
"conditioned"  there  is  an  option  to  test  it,   and  an  option  to  save  this 
customized  copy  to  tape,  e  zn,s 


SINC-LINK 


The  Tasman  "tas intcode"  software  loads  at  64716,   and  is  652  bytes  in 
length.   When  loaded,    it   is  in  it ial  ized  by  RANDOMIZE  USR  647/9.    This  USR 
call,   among  other  things,   pokes  values  238  and  253,    into  the  pointer 
addresses  26703/04  respect  ive I y.    This  points  the  2068  to  the  driver  code 
starting  address  of  65006. 

The  Tasman  driver  code  has  an  interest  ing  feature,    in  that   it  allows 
you  to  instal  several  printer  control  funct  ions,  des  ignat  ing  various  2068 
graphics  symbols  to  imp! ement  them.   Whenever  one  wants  to  engage  a  printer 
function  one  simply  enters  the  graphic  symbol   for  that  funct  ion,    into  the 
text  being  printed.   When  the  driver  encounters  this  symbol,    it   looks  up  a 
table  and  sends  out  the  printer  control  code  sequence  assigned  to  the 
symbol.   The  printer  control  function  comes  into  force  immediately. 

The  Tasman  software  also  has  another  interest  ing  quirk  relating  to 
sending  printer  control  codes,   which  can  prove  troub I esome  if  one  is 
unaware  of  it.    That   is,    it  can  handle  printer  control  codes  only  with  the 
CHR$  mode,   and  not  with  the  OUT  instruction  (At  least  I  have  not  been  able 
to  do  it!).  More  about  that  under  the  heading  "CHR$  versus  OUT  Commands" . 

In  addition  to  the  "tas  intcode"  software,    Tasman  also  provides  several 
short  code  blocks  that   locate  in  the  printer  buffer  area  of  memory.  Each 
has  a  unique  capability.  For  example,    "tasmini"  does  a  screen  text  copy; 
"tasepson"  does  a  b/w  screen  copy;   "tasbuff",   which  is  an  abbrev iated 
version  of  "tas  intcode" .  And  there  are  other  drivers  designed  for  specific 
pr inters. 

HACKSEL 

When  the  Hacksel   i/f  hardware  first  appeared  it  made  use  of  the  Aerco 
software.  However,   copyr  ight  restr  ict  ions  required  that  new  software  be 
developed  for  it.    The  software  that  was  eventually  supplied  consisted  of 
three  separate  and  distinct  blocks  of  code.   There  was  "LPRINT"  CODE 
65000,500;   "b+w62300"  CODE  62300,500;  and  col or61000"  CODE  61000, 1300. 

Each  of  these  had  a  different  funct  ion.    "LPRINT"  allowed  you  to  use  the 
LPRINT  and  LLIST  commands.    To  use,  you  CLEAR  64999,    load  the  code,  then 
POKE  26704,254.    The  POKE  "points"  the  2068  to  the  Hacksel  code  (PEEK  26703 
*  256  *  PEEK  26704  =  65024). 

The  "b+w63200"  will  allow  a  high  resol ut  ion  black  and  white  screen  copy 
to  the  full  sized  printer.   This  assumes  that  the  printer  is  an  EPSON 
compat ibl e  with  graphics  capabilities.    To  copy  a  screen,   simply  load  this 
code,   then  instead  of  using  the  COPY  command,   use  RANDOMIZE  USR  62300. 
Note  that  because  you  are  not   invoking  the  LPRINT  or  LLIST  commands  one 
does  not  need  to  "point"  the  2068  to  this  address. 

"co I or61 000"  is  a  more  complex  piece  of  code.  With  it  you  can  also  do 
a  high  resol ut  ion  screen  copy  as  with  the  b+w63200",   however  the  printout 
will  be  in  shades  of  grey  for  the  corresponding  colours  on  the  screen.  To 
execute,  use  RANDOM IZE  USR  61000.  No  "pointer"  is  required. 

All  three  of  these  Hacksel  softwares  can  be  loaded  at  the  same  time, 
without  interfer ing  with  each  other.   You  can  save  them  as  a  single  block 
of  code  by  SAVE  "name"  CODE  61000,4535. 

The  instruct  ion  sheets  that  come  with  the  Hacksel   interface  provide  a 
list  of  POKEs  for  the  several  Tasman  software  drivers,   to  make  them 
compat  ibl e  with  the  Hacksel   interface.   This  could  be  useful,  since  the 
Tasman  drivers  have  features  not  present  in  the  Hacksel  and  the  Aerco 


SINC-LINK 


software  drivers. 


Presumabl y  the  modified  Tasman  software  will  work  with  the  Aerco  i/f  also. 


Now,   there  is  something  else  to  watch  out  for.    The  Aerco  and  Hacksel 
software  offer  two  methods  of  sending  informat  ion  to  the  printer.    They  can 
send  out  the  TS2068  character  set,   or  a  true  ASCII  character  set.    The  best 
descr  ipt  ion  I  can  give  of  this  is  to  be  found  in  the  Hacksel   instruct  ion 
sheet,   as  follows: 

"Al though  the  2068  character  set   is  ASCII  compat  ibl e,    it   is  not  exactly 
the  same  as  ASCII.  For  example,   printing  the  character  255  on  the  2068 
will  give  the  four  letters  that  make  up  the  word  COPY.    This  is  only  true 
for  the  2068  and  is  necessary  for  execut  ing  the  LLIST  command.  This 
(LPRINT)  routine  will  do  this  automatically  for  you.    If  you  execute  the 
command  LPRINT  CHR$  255,   then  the  four  letters  C,   O,  P,   and  Y  will  be  sent 
to  the  printer.  However  there  are  some  occasions  where  this  is  not  to  your 
advantage.   The  main  instance  is  when  you  wish  to  send  control  characters 
to  change  fonts,   underline,   and  so  forth.    In  these  cases  the  true  ASCII 
codes  must  be  sent  directly,   and  not  be  converted  to  the  2068  character 
set.   With  this  software  you  may  select  the  true  ASCII  set  by  using  the 
POKE  65535, 1  command.    If  you  wish  to  return  to  the  2068  character  set, 
then  use  the  command  POKE  65535,0." 

In  the  use  of  a  large  printer  on  the  2068  the  above  statement   is  very 
s  ignif  icant,   and  if  ignored  will   lead  to  great  f rust  rat  ions. 

I  mentioned  that  the  Aerco  and  Hacksel  have  this  "dual"  character  set 
with  the  need  to  make  a  se I ect  ion.   This  appears  to  be  a  common  feature  of 
most,    if  not  all  North  American  produced  driver  software.   The  Larken  LKDOS 
uses  this  convent  ion,  also. 

But  Tasman  does  not  refer  to  it,  and  does  not  seem  to  require  it.  The 
answer  may  be  in  it's  use  of  a  double  "CHR$  27"  in  it's  printer  control 
commands.  More  on  that  in  a  later  article  demonstrat ing  Tasman  printer 
contro I s. 

AERCO  DRIVERS 

The  Aerco  software  consists  of  1111  bytes  of  code,   which  is  loaded  at 
address  64256.   The  original  package  as  supplied  is  accompanied  with  a 
Basic  program  to  customise  the  driver  to  suit  a  particular  printer.  Nine 
printers  are  named  in  the  option  table.   If  your  printer  is  not  in  the 
list,    then  you  must  experiment  with  the  7  opt  ions  prov  ided  and  hope  that 
one  will  suit  your  printer.  One  of  them  usually  will. 

As  is  the  case  with  the  Hacksel,   the  Aerco  software  has  two  basic 
modes.    The  default  mode  is  for  use  with  the  Timex  Basic  system,  and 
automat  ical I y  expands  all  tokens  as  they  are  encountered.   We'll  refer  to 
it  as  the  "Timex  Basic"  mode.  Aerco  calls  the  other  mode  LITERAL;  this 
corresponds  to  the  Hacksel  term  "true  ASCII  set". 

The  Aerco  "Timex  Basic"  mode  is  selected  by  POKE  64256,1 

The  other  mode,   termed  LITERAL  in  the  Aerco  instruct  ions,    is  where  the 
characters  are  sent  to  the  printer  with  no  changes  made  to  them.   Use  the 
LITERAL  mode  to  send  control  characters  to  the  printer,   and  for  bit-mapped 

graph ics. 

Select  this  mode  by  POKE  64256,0 


SIflC-LINK 


9 


Other  POKEs  provided  in  the  Aerco  instruct  ions  are: 

To  set  the  width  of  the  printer:  POKE  &43256~,  w idth-1 
To  send  LINE  FEED  after  CARRIAGE  RETURN:  POKE  6*260,10 
To  suppress  LINE  FEED  after  CARRIAGE  RETURN:  POKE  64260,0 
To  select  Timex  2040  printer:  POKE  26703,0; POKE  26704,5 
To  select  Centronics  printer:  POKE  26703,0;  POKE  26704,251 

5  Ci4R<r; 

In  order  to  do  a  screen  copy  use  the  command  LPRINT  USR  1, 
To  make  use  of  this  command  you  must  have  a  printer  with  a  dot  matrix 
printer  with  b  it-mapped  graphics  capab  i I  ity.   The  printer  needs  to  be  set 
up  in  this  mode.  Look  to  your  printer  instruct  ion  sheet  to  determine  the 
necessary  control  characters. 

LARKEN  LKDOS 

Any  Larken  disk  system  owners  who  do  not  range  much  beyond  Tasword  and 
Mscript  may  wonder  what  all  the  fuss  about  printers  drivers  is.  Well  you 
may  wonder.  When  I  got  my  Larken  system  I  carefully  put  aside  all  my 
printer  driver  softwares,   to  see  whether  I  would  ever  need  them  again. 
Essent ial I y,   I  never  looked  back.  Until  this  project  came  up!  I  stayed  ^ 
with  the  Tasword  and  Mscript  drivers;  there  did  not  seem  to  be  much  point 
to  changing  them.  But  everything  else  was  Larken,   except  for  b  it-mapped 
graphics  software. 

The  Larken  printer  driver  is  in  the  LKDOS  ROM,   with  cert i an  of  it's 
variables  in  the  LKDOS  RAM.   Variables  such  as  printer  interface  type,  Line 
length,   Left  margin  setting,   the  LF  with  CR  feature.   Variables  one  might 
want  to  customise  for  a  particular  application. 

The  system  defaults  to  Aerco  (Hacksel)  Interface, I  ine  length  64,  LF  with 
CR,  and  a  margin  of  0.  Changing  them  requires  LKDOS-type  POKEs. 

The  selection  between  the  LITERAL  and  Timex  Basic  that  we  described 
earlier  on  the  Aercol Hacksel  drivers  is  also  done  in  the  Larken  driver, 
with  an  LKDOS  POKE. 

The  LKDOS  has  a  useful  feature.  One  can  open  any  channel  to  the  printer. 
The  most  usful  channels  for  this  purpose  are  #3  and  #5.  More  on  this  in  a 
later  LKDOS  demonstrat ion  article. 


ZX81  -  MYSTERY  PROGRAM 

This  is  a  short  program  which 
enables  a  Basic  instruct  ion  to  be 
trans  I  at ed  into  machine  code  without 
the  use  of  an  interpreter  or 
assembly  code.   When  you  have 
finished  entering  it,   simply  press 
RUN  and  all  will  be  made  clear. 

5  REM  FOR  ZX81    IN  SLOW  MODE 
10  LET  A= 16509 

15  PRINT  TAB  2; PEEK  A*256+PEEK 
(A+1) 

20  LET  L-PEEK  ( A+2)+256*PEEK  ( 
A+3)-1 

25  LET  A=A+3 
30  FOR  N=1    TO  L 


35  IF  PEEK  (N+A)<>126  THEN  GO 
TO  50 
40  LET  N=N+5 
45  GO  TO  55 

50  PRINT  CHR$  (PEEK  (N+A)); 

55  NEXT  N 

60  LET  A=A+N+1 

65  IF  A<16914  THEN     GO  TO  15 

70  LET  A$="B-9B25%.885E  " 

75  FOR  N=1    TO  LEN  AS 
80  FOR  J=1    TO  50 
85  NEXT  J 

90  PRINT  AT  15,12+N;CHR$  (CODE 
A$(N)+144) 
95  NEXT  N 

Taken  from  the  April  '82  issue 
of  Your  Computer  -  Vol.2  No. 4 


SINC-LINK 


NEW  QL  LIBRARY    NOW  READY 


The  Mew  style  QL  Library  is  now 
ready.  I  think  I  have  got  all 
the  bugs  oat  of  it,  and  I  also 
think  you  will  like  its  format. 
Whether  in  color  or  monochrome. 

The  original  catalogue  was  in 
Abacus  as  I  did  not  know  how  to 
do  it  in  Archive.  But  I  hare 
been  learning  and  I  have  by 
hook  and  by  crook,  begged 
borrowed  purloined  amended  and 
in  many  other  ways  evolved  a 
Library  Catalogue  that  I  feel 
will  be  of  real  interest  to  all 
QL  users. 

"TorQLib"  (for  Toronto  QL 
Library)  the  title  I  have  given 
this,  is  easy  to  use,  and  has 
six  main  fields,  plus  a  number 
of  others,  that  nake  it  very 
comprehensive.  You  will  be 
able  to  use  this  to  form  your 
own  library  on  almost  any 
subject.  To  do  this  you  nay 
wish  to  go  into  the  program  and 
alter  a  few  things,  but  that  is 
not  so  hard  to  do.  loreover, 
the  exercise  will  enhance  your 
knowledge  of  Archive. 

On  running  TorQLib  you  are 
presented  with  the  START  screen 
which  is  a  short  statement. 
[ENTER]  to  proceed. 

The  next  screen  will  allow  you 

to  SELECT  how  you  wish  to  use 

TorQLib.  You  are  given  the 
choice  of:- 

(1)  The  Complete  File 

(2)  Disk 

(3)  Title 

(4)  Author 

(5)  Quit.  (To  Quit  Archive  and 

close  files) 

You  are  also  asked  if  you  wish 


the  file  in  Order  (Sorted) 
(Y/H.)  This  will  take  you  to 
the  "TorQLib"  screen  where  all 
is  revealed.  Each  file  is 
displayed  in  its  entirety,  with 
lots  of  information  on  show. 

The  main  fields  used  are.'- 

—  Title 

--  Category 

—  Disk 

—  Author 

—  Size 

—  Reference 

Next  there  is  a  large  window  to 
display  all  the  files 
Associated  with  the  Title.  The 
size  in  bytes  is. also  displayed 
of  each  segment  of  the  file. 

There  are  Windows  for  Loading 
and  Remarks.  Also  a  window  to 
tell  you  the  Number  of  the  file 
selected  and  to  tell  you  the 
amount  of  Memory  Remaining. 

Finally,  there  is  a  menu  from 
which  you  may  select  how  you 
operate  the  file  by  the  use  of 
one_letter  (ENTER)  commands :- 

A-Back_10 

Z-Forard_10 

B-Back  (1) 

F-First 

N-Next 

L-Last 

S-Select 

P-Print 

Q-Quit 

There  is  one  other  command  in 
the  menu,  and  that  is  for  use 
when  the  Archive  command  "Find" 
is  used.  When  you  use  FIND  in 
Archive,  the  file  is  rewound  to 
the  beginning  and  a  search  is 
made  for  the  first  occurrance 
of  the  string  you  are  looking 


for.  If  that  is  not  correct 
then  "C-Continue"  will  progress 
to  the  next  occurance  of  that 
string,  and  so  on. 

The  PRINT  command  will  give  you 
a  hard  copy  of  the  whole  or 
selected  files,  in  nice 
presentation,  12  files  to  a 
page. 

On  the  TorQLib  disk,  I  have 
included  a  _doc  file  which  will 
give  you  a  lot  of  useful 
information  on  the  use  of  the 
Library  in  particular,  and  may 
be  of  interest  to  you  on  some 
aspects  of  Archive  in  general. 

The  library  is  on  5  1/4  1440 
(80  track)  disks.  As  this 
would  appear  to  be  the  QL  disk 
format  most  popular.  I  can 
also  put  the  Library  on  720  (40 
track)  or  on  3  1/2  disk. 
Cartridge  would  take  a  host  of 
them  to  hold  the  complete 
Library.  There  are  at  the 
moment  217  titles  in  the 
Library.    Some  good,  some  — 

Available  to  members  of 
'TTSUC'  ONLY. 

The  Categories  used  are  '.- 

Communications  1  Disks 

Demonstration  1 

Games  1 

Graphics  1 

Maths  1  " 

Special  3  " 

Utility  2 

Z88  1 


Psion 

Plus  the  "TorQLib" 
itself  of  course. 

NOTE:-  EXTRA 
OF   256K+  IS 


(Not 
tested) 
1  (Psion 
related) 
Library  disk 

MEMORY 
ESSENTIAL 


To  order  TorQLib  Catalogue  Disk.please  send  formatted  medium    and  return  postage/packing.  I  will  be  only  too 
pleased  to  answer  any  questions  you  might  have  at  that  time.    This  edition  of  the  Library  is  much  improved  over 
the  last  one,  containing  many  useful  additions  which  I  am  sure  you  will  find  of  value  and  interest. 
This  is  the  final  format  of  the  QL  Library  which  I  wll  present  to  the  Club. 

Additions    -  YES.  Alterations  to  format    -  NO  \ 

Hugh  H  Howie.    QL  Librarian.    586  Oneida  Dr.    Burlington.    Out.    Canada.     L7T  3Y3 


SINC-LINK 


11 


DAYTON  COMPUTERFEST  1991 

by  Your  Roving  Reporter 


One  night  at  supper  my  wife  said  that 
since  I  got  that  darn  computer  we  never 
went  anywhere.  So  I  thought  a  bit  then 
asked  how  she  would  like  a  trip  down 
south.  That  was  fine  with  her,  when  do 
we  leave  and  where  do  we  go.  I  replied 
that  we  could  head  south  and  stop  at 
Dayton  the  first  night  and  have  a  look 
around,  and  take  it  from  there.  GREAT. 

We  arrived  in  Dayton  on  the  Friday  early 
afternoon,  and  we  drove  around  till  I 
found  a  small  store,  my  wife  asked  me 
what  I  bought  and  I  said  I  was  looking 
for  something  and  changed  the  subject. 

Short  time  later  we  drove  past  the  Hara 
Arena  and  my  wife  said  "Oh!  they  are 
having  a  Computer  Show  here  to-morrow" 
Then  a  gasp  and  total  silence. 

Saturday  we  went  to  the  Show,  and  owing 
to  my  having  purchased  my  tickets  the 
day  before,  (the  "something"  I  was 
looking  for)  I  saved  a  dollar  on  each 
ticket,  and  we  were  able  to  walk  right  in 
without  joining  the  quarter  mile-long  cash 
pay  line. 

On  entering  the  arena  whcih  has  a  wooden 
floor,  and  chandeliers  all  over  the  place, 
looks  a  mile  long  and  almost  the  same 
wide,  and  wall  to  wall  computers. 
Struggled  through  the  masses  to  a 
slightly  lower  floor,  round  a  corner  and  I 
am  in  the  Sinclair  Section.  Must  be  about 
fifty  feet  along  one  wall.  There  was  Cats, 
Istug,  Tsnug,  CATUG,  Quanta,  and  of 
course  my  old  friend  Paul  Holmgren,  the 
only  one  I  knew,  and  his  partner  Frank 
Da  vies. 

ZXir  Clive  Alive  was  represented  by  Don 
Lambert  and  Bob  Swogger.  But  no  real 
identification.  I  wonder  how  many  new 
members  they  got? 

I  had  a  little  difficulty  in  finding  the 
Sinclair  Section  as  the  signs  they  had 
stuck  on  the  wall  were  not  as  distinct  as 
I  would  have  liked  to  see.  There  was  not 
too  much  on  display,  mainly  books, 
newsletters  etc,  and  at  Paul's  table  some 
bits  of  this  and  that  and  some  software.  I 
got  some  5  1/4  discs  from  him  at  a  good 
price.  However  the  action  was  not  too 
bad. 


From  Paul  and  Frank,  I  gathered  there 
was  a  strong  possibility  that  Miracle 
Systems  in  England  did  not  know  there 
was  a  JSU  version  of  the  QL,  and  perhaps 
this  would  account  for  some  of  the 
difficulty  I  am  having  with  the  Gold  Card. 

I  spoke  to  Ruth  Fegler  from  CATS  group 
for  a  short  time,  where  she  had  as  well  as 
her  own  material,  some  books  etc.,  from 
SHARP'S  who  was  also  at  the  show,  but  on 
a  higher  level,  surrounded  by  all  types  of 
computers,  but  NO  SINCLAIR. 

I  spoke  to  Mark  Steuber  for  a  while 
between  customers,  and  he  still  is 
interested  in  Sinclair,  but  it  is  definately 
not  his  main  source  of  income  now-a-days. 
I  would  say  that  he  handles  it  because  he 
always  has  done  so. 

As  I  said  earlier,  the  main  floor  is  of 
wood,  all  others  are  of  concrete.  One 
thing  very  obvious  was  that  the  wooden 
floor  section  was  nice  and  cool,  the 
concrete  floor  section  was  very  very  hot. 
Obviously  they  do  a  lot  of  Banquets  at 
the  Hara  Arena. 

The  lower  sections  are  not  a  full  floor 
lower  but  rather  a  half  floor  lower, 
accessed  by  a  ramp  which  is  much  easier 
to  handle  than  a  flight  of  stairs.  The 
whole  complex  is  vast,  I  do  not  think  the 
Auto  Building  at  the  Ex  would  hold  all 
that  was  there. 

There  were  Discs  in  all  shapes  and  sizes. 
I  got  some  5  1/4  at  a  good  price,  and 
went  looking  for  some  3  1/2,  but  I  could 
not  better  the  price  I  would  pay  in 
Canada  for  them.  Sure  there  were  plenty, 
mainly  done  up  in  bundles  of  25  or  50  or 
100,  at  prices  from  37  cents  and  up,  with 
the  average  about  65  cents  for  so-called 
good  ones.  Once  again,  in  bulk,  un- 
named, no  labels,  many  pre-f  or  matted.  I 
decided  the  gamble  was  not  worth  the 
price.  After  all  I  can  get  name  brand 
discs  in  Canada  for  anything  from  75/85 
in  boxes  of  ten  plus,  including  labels. 
Sometimes  less. 

3  1/2  uncased  disk  drives  were  there  in 
their  dozens.  At  opening  the  price  was 
from  $45  to  $57.  But  as  the  day  wore  on, 
this  price  stabilised  at  $55,  such  was  the 


SINC-LINK 


DAYTON  COMPUTERFEST  1991 

(Continued) 


success  of  the  show.  Paul  Holmgren  did 
not  know  what  kind  of  day  he  had  as  he 
had  not  had  time  to  keep  score.  He 
appeared  happy. 

When  assessing  prices  at  the  show  it  was 
essential  to  remember  the  extra  16  percent 
we  had  to  pay  for  our  US  currency,  so 
that  something  costing  $20.00  was  really 
costing  us  $23.20.  This  made  the  disc 
drive  at  $55  cost  me  $63.00.  This  for  the 
same  drive  I  was  buying  in  Toronto  a  few 
weeks  ago  for  $39.95!  The  3  1/2  disc  at 
65  cents  would  cost  me  75  cents,  in  this 
light  caution  had  to  be  the  "watch- word.  I 
am  of  the  opinion  that  prices  were  high. 
That  the  show  was  a  success  as  far  as 
the  dealer  went  is  a  foregone  conclusion. 
In  more  than  one  instance  I  felt  that 
prices  increased  in  the  short  time  I  was 
there. 

At  5pm  when  the  show  closed  for  the  day, 
the  general  concesus  of  opinion  was  it 
had  been  a  great  success.  Smiles  on  all 
dealers  faces,  and  empty  tables.  Still  a 
another  day  to  come  on  the  Sunday.  I 
did  not  stay  for  that  one. 

Before  I  went  to  Dayton,  I  made  up  some 
cards  representing  the  club.  Plus  a  few 
application  forms  to  hand  to  anyone 
interested.  Handed  out  a  few  but  not 
many.  I  also  made  up  a  card  to  wear 
indicating  my  affiliation.  This  was  a 
really  wonderful  opener  to  anyone  I  spoke 
to.  Bringing  me  back  to  what  I  mentioned 
at  the  beginning,  in  the  Sinclair  Section 
which  was  not  large  there  was  a  lack  of 
group  identification.  Perhaps  it  was 
thought  that  no  indentification  was 
necessary.  In  the  whole  show  there  was 
almost  a  complete  lack  of  personal 
identification  among  representatives.  Mark 
Steuber  had  his  name  on  his  chest,  and 
a  few  others.  Even  the  major  companies 
at  the  show  were  suffering  from  this.  I 
Ike  to  know  to  whom  I  am  speaking. 

?ls  a  Computer  Show  it  had  to  be  a  great 
success.  As  a  Sinclair  show  it  was  Uh 
rJh.  If  this  is  the  best  we  can  do  then 
we  are  in  a  sorry  state.  From  the  action 
E  saw  at  Pauls'  desk  I  would  say  there  is 
still  plenty  of  Sinclair  interest  out  there, 
low  to  harness  that  interest  is  the 
problem. 


I  would  really  like  to  have  Toronto  try 
for  a  Computer  Fest  next  year,  but  the 
logistics  are  not  in  place.  We  would 
have  to  rely  on  what  support  we  have  in 
a  small  area,  all  that  area  to  the  south.  I 
am  sure  Sharp's  would  not  come  this  far 
north  as  his  business  is  90%  IBM  clones. 
There  are  no  other  Sinclair  dealers  in  this 
area.  I  do  not  see  many  people  travelling 
400  miles  plus  to  come  to  Toronto  on  a 
chance.  RMG  would  not  come  this  far. 
Would  our  friends  to  the  East  do  so?  We 
have  no  one  who  is  in  the  marketing 
sector  who  would  wish  to  travel  this 
distance.  So  let  Toronto  give  up  thoughts 
of  a  Fest.  After  all,  with  the  poor 
appearance  of  the  Sinclair  section  at  the 
Dayton  Show  to  go  by,  I  would  say  that 
we  are  relegated  to  an  out  of  the  way 
corner  in  larger  shows,  to  keep  in  touch 
with  our  friends.      Too  bad. 

So  we  left  Dayton  on  the  Sunday  morning 
and  headed  for  Virginia  and  the  Blue 
Ridge  Drive  where  it  was  all  that  foggy 
wet  stuff  so  that  you  could  see  nowhere. 
Two  days  like  that  and  then  back  to  K- 
Mart  and  Wal-Mart.    Then  head  for  home. 

The  big  shock  was  to  get  back  to  Canada 
and  gasoline  prices  of  57  cents  a  litre. 
We  were  buying  gas  down  there  at  1.08  to 
1.18  a  gallon.    Thats  about  28  C/Litre. 

Consider  SNUG  as  folded  I  would  say. 
TSNUG  may  but  only  may,  fill  the  gap. 
UPDATE  I  wonder.  I  often  ponder  that 
even  UPDATE  may  not  last  too  long.  I 
renewed  my  subscription,  but  I  did  not 
notice  an  over  abundance  of  action  at  that 
table. 

Anyway,  here  we  are  at  home  and  now 
my  wife  can -not  say  I  never  take  her 
anywhere.  She  has  had  her  week  away 
from  the  stove,  just  letting  other  folks 
serve  her,  and  she  loved  it.  We  stopped 
eating  at  the  fast  food  places  as  the  food 
was  all  the  same.  Cost  us  more,  but  we 
ate  better.    Almost  as  good  as  home. 

A  pleasant  trip,  and  many  new  friends 
made,  and  many  phone  voices  and  writers 
now  have  bodies.  § 


SINC-LINK 


1 


Setting  Up  LKDOS  User-Def ined  Commands 
by  Steven  Gunhouse 

In  the  May  issue  of  Sine-Link  (vol.9  no. 3),  Bob's  Notebook  discusses 
using  the  LKDOS  user  defined  command  to  invoke  an  NMI-F  routine,  but 
points  out  that  he  usually  gets  an  error  when  he  does  this.    There  are 
ways  around  this,  however. 

The  problem  is  that  the  routines  end  with  a  RET  instruct  ion.     This  is 
the  right  thing  to  do  with  an  NMJ  routine,    it  would  then  return  to  the 
LKDOS  NMI  routine  so  that   it  could  exit  properly.     However,    it  poses  two 
problems  when  used  as  a  user  defined  command.     First,    there  is  a  system 
variable  (see  Appendix  D  of  your  User  Manual )  called  CH  ADD  at  23645 
which  when  the  routine  is  done,   should  point  to  the  term inator  after  the 
command  (either  a  colon  or    ENTER).     Second,    it  does  not  disable  the 
cartridge  before  attempt  i  ng  to  return. 

It  would  not  be  appropr  iate  to  just  put  these  into  our  NMI  routine. 

An  NMI  routine  should  leave  regular  memory  as  it  found  it,    if  poss  ibl e. 

So  the  first  thing  we  will  need  to  do  is  determine  whether  our  routine 
was  called  as  an  NMI  or  a  user  command,   then  act  appropriately.  Luckily, 
there  is  a  way  provided  in  LKDOS  to  do  this. 

Two  years  ago,    I  published  a  list  of  useful   locations  in  the  LKDOS 
cartridge  (see  vol.7  no. 4,   pages  14-16).     We  find  at  location  8194  in 
the  cartridge  something  I   labelled  NMI  flag.    If  the  routine  that  called 
LKDOS   is  a  Basic  command  (like  RANDOMIZE  USR   100:  CAT  "",    or  PRINT  #4: 
DATA  0),   this  flag  will  be  set  to  0.    If  it  was  an  NMI   it  will  be  1. 

Certian  LKDOS  utilities  (like  the  Move  program)  will  set   it  to  1 1  when 
they  use  the  cartr idge,   but  that  doesn't  matter  much  here.     The  point  is 
that  we  can  read  this  location  to  determine  how  our  routine  was  called, 
and  then  act  appropr  iate I y. 

I  should  note  at  this  point  that  some  of  the  ml   in  the  LKDOS  ROM  also 
reads  this  location,  and  will  act  differently  depending  on  what  it  finds 
here.     Most  s  ignif  icant  in  this  respect  are  the  ml  LOAD  and  SAVE 
commands  (at  00C6  hex  and  OOCC  hex).     In  part  icular,   by  changing  th'is 
flag,    I  can  make  the  computer  think  that   it   is  running  an  NMI  or  just 
turned  on,  and  load  the  AUTOSTART  program  without  further  effort.  I 
take  advantage  of  this  in  the  new  version  of  "autobt.Cx",   which  Bob  is 
describing  in  another  article. 

That  isn't  of  much  use  to  someone  trying  to  write  a  useful  routine 
that  works  as  both  an  NMI  and  a  user  command.  If  we  hope  to  return  to 
our  original  program  (which  autoboot  doesn't  want  to  do),  we  must  not 
change  the  NMI  flag. 

There  are  a  few  subrout  ines  provided  in  LKDOS  which  may  be  useful  in 
a  user  funct ion.     These  include: 

138  (008A  hex)  read  a  string  to  8226  and  check  as  a  valid  filename 

141  (008D  hex)  find  Basic  terminator 

144  (0090  hex)  read  a  number,   and  leave  it  in  BC  register 

156  (009C  hex)  read  a  string  to  8226  (at  most  10  chars.) 

186  (OOBA  hex)  disable  LKDOS  cartridge  and  exit 

One  other  fact  of  note:  LKDOS  does  implement  RST  32,   but  not  RST  24. 
For  you  non-programmers,  RST  24  is  used  to  read  the  current  character 
as  pointed  to  by  CH  ADD,   while  RST  32  reads  the  next  character  - 
ignoring  spaces,  colours,  etc. 


SINC-LINK 


If  we  just  want  to  make  a  routine  that  exits  properly,   and  not  read 
what  comes  after  the  DATA  keyword,   we  need  not  worry  about  that.     All  we 
need  to  do  is  find  the  RET  in  our  old  NMI  routine,   and  replace   it  with 
the  following: 

LD  A, 8194  load  A  register  with  NMI  flag 

AND  A  test  to  see  if  flag=0 

RET  NZ  if  flag  is  not  O  (i.e.,    if  NMI)  then  return 

CALL  1U1  adjust  CH  ADD  to  end  of  DATA  statement 

JMP  186  disable  LKDOS  and  exit 

We  used  a  JMP  186  instead  of  a  CALL  because  once  LKDOS  is  disabled,  ^ 
it  doesn't  make  sense  to  return  to  our  routine.     With  this,   we  could  fix 
the  old  graphics  24  so  that   it  didn't  cause  the  errors  Bob  complained 
about. 

But  why  stop  there?     The  PRINT  #4:  DATA  0  command  always  has  to  have 
a  number  (or  string)  after  the  DATA.   With  the  other  routines  I   listed  ^ 
above,   we  could  find  out  what  this  number  or  string  is,   and  do  something 
with  it  I 

I  brought  up  RST  32  for  a  reason,   as  you  may  have  guessed.   When  our 
routine  is  called,   CH  ADD  will  point  to  the  keyword  DATA,   but  before  we 
use  any  of  the  subroutines  to  read  a  number  or  string,   CH  ADD  should 
point  at  the  first  character  of  the  number  or  string.   So  we  should  have 
something  like  this  where  we  want  to  read  the  number: 

LD  A, 81 94  (we  don't  want  to  read  a  number  if  this  is  an  NMI) 

AND  A  (so  if  it   isn't  BASIC,   do  something  else  I) 

JR  NZ, SKIP  IT 
RST  32  set  CH  ADD  to  next  character 

CALL  144  read  a  number  to  BC  (error  if  too  large  or  not 

a  number) 

After  this  we  should  check  to  make  sure  our  number  is  an  appropriate 
value.     In  the  new  version  of  graphics  2*  in  Bob's  article,   I  put  the 
indented  lines  and  the  checking  into  a  subroutine,   just  after  the 
printer  control  codes. 

If  we  were  looking  for  2  numbers  instead  of  1,   we  should  check  to 
make  sure  there  is  a  comma  between  them.     We  can't  ^  RS T  ^  for  this 
in  LKDOS,   so  we  would  have  to  do  something  else.   That  would  look  like 
th  is: 

read  the  first  number,   as  above  < 

LD  HL,( 23645)     load  some  register  pair  with  CH  ADD 

LD  A, ( HL)  load  A  with  the  character 

CP  414.  compare  to  44=C0DE  ",  " 

JR  NZ,NONUM        if  not  a  comma,   then  there  is  no  second  number 

read  the  second  number,  as  above 

Likewise,   we  could  look  for  a  third  number  (or  string),   and  o  fourth, 
as  many  as  'we  need.   If  there  had  to  be  a  second  £J works 

off,   we  could  include  code  to  generate  an  error  ^ssage  "  ^  £™ 

"normally.     I  decided  not  to  do  that  in  the  ^iSS.  /r  the° second 

didn't  want  to  make  it  too  hard  to  use.  /^ou^/^^t^r  code  may 
number  was  left  off,   the  programmer  meant  24,   but  some  other  coae  y 

not  have  that  option. 


SINC-LINK 


/  have  not  concerned  myself  with  preserving  registers  in  this 
article.     Rest  assured,  almost  any  of  the  LKDOS  routines  used  in  th'S 
article  does  alter  many  of  the  registers.  So  any  values  you  need  to  keep 
track  of  should  be  stored  somewhere,  or  pushed  onto  the  stack,  and  then 
retrieved  afterwards. 

Also  note  that  while  I  have  had  both  NMI-F  and  the  user  command  doing 
almost  the  same  thing,   that  need  not  be  the  case,  /ou  could  use 
flag  to  branch  to  a  completely  different  routine  for  ™«  .of 
just  skipping  reading  numbers.  So  we  could  have  a  rout  me  that  copied 
the  screen  to  the  printer  in  response  to  PRINT  #4:  DATA  o  but  reload  the 
AUTOSTART  if  NMI-F  was  pressed.     Or  use  your  imagination. 


Steven  Gunhouse 
323  1/2  N.   Church  St. 
Bowl  ing  Green,   OH  U3U-02 


retyped  by  GFC 
due  to  faint  copy 


ZXB1   SCROLL  CLEAR 


While  messing  around  on  my  16K 
ZX-81   I  found  a  way  to  make  the 
screen  Clear  quickly  after 
scrolling.  Normally  a  CLS  command  or 
a  return  to  non-Scrol led  Printing 
takes  a  long  time  because  the 
display  has  to  be  padded  out  with 
spaces  on  the  expanded  machines. 
This  program  will   i 1 1 ustrate  this: 


10  FOR  N  =   1    TO  22 

20  SCROLL 

30  PRINT  "TEST" 

40  NEXT  N 

50  CLS 


See  how  long  the  CLS  command 
takes.   The  trick  is  to  artificially 
pad  the  display  file  on  each  scroll, 
by  using  a  Tab  to  move  the  Print 
position  to  the  end  of  the  line.  To 
show  this,   change  the  line  30  in  the 
program  to: 

30  PRINT  "TEST";    TAB  31; 

and  RUN  the  program  again.  By 
forcing  the  ZX-81   to  print  a  full 
line  of  32  spaces  each  time,  the 
display  file  remains  intact. 

Taken  from  the  November  1982  issue 
of  Your  Computer .. .Vol .2  No. 11 


SINC-LINK 


New  PRINT  FACTORY  Graphics 


John  McMichael  has  brought  out  a  set  of  graphics  collections 
for  users  of  Byte  Power's  PRINT  FACTORY  desk  top  publisher 
suite.  I've  printed  a  few  of  the  many  (read  a  couple  hundred) 
graphics  to  show  the  quality  available.  Not  bad  for  2068 
graphics,  eh?  For  more  information  see  the  advertisement 
contained  in  this  issue.  J.T. 


*  * 


SINC-LINK 


QL  QL 


GOLD  CARD 

Hugh  H.  Howie 


QL  QL 


When  ordering  the  GOLD  CARD  I  decided 
to  send  all  the  way  to  Merry  England 
for  it.  To  Miracle  Systems,  the 
producer.  In  this  I  may  have  been 
very  wise  as  the  ensuing  will  show. 

First,  their  terms  of  purchase  were 
favorable,  and  I  did  not  know  who  was 
handling  the  GOLD  over  here  at  that 
time. 

I  had  been  using  512  Expanderam, 
Cumana  l/F,  and  had  recently  installed 
Minerva.  When  I  installed  the  GOLD 
CARD  the  first  thing  I  noticed  was  the 
small  amount  of  space  it  takes  up.  It 
fits  where  the  Trump  and  Cumana  used 
to  fit.  The  only  thing  protruding  is  the 
small  heat  sink  which  sticks  out  about 
3/4  inch,  about  1  inch  long.  This 
releases  about  32  square  inches  of  desk 
space  for  me.  The  heat  to  the  right  of 
the  QL  is  almost  nil. 

The  next  thing  I  noticed  was  the 
unbelievable  speed  of  the  QL.  When  I 
say  unbelievable  that  is  what  it  is. 

The  GOLD  clock  comes  with  a  five  year 
battery,  and  there  is  provision  to  lock 
the  clock  in  to  the  GOLD,  while  using 
the  QL  clock  in  another  time  frame.  A 
reset  re-establishes  the  GOLD  clock. 
The  small  amnual  hat  comes  with  the 
Gold  Card  says  that  can  cause  the  time 
to  be  lost.  In  my  own  case  the  Gold 
was  out  of  the  QL  for  over  a  week 
while  i  was  away,  when  I  came  back  I 
plugged  the  Gold  into  another  QL  and 
the  time  was  within  6  seconds.  I  can 
live  with  that,  especially  when  it  was 
not  plugged  in. 

Where  you  must  use  restricted  memory 
for  certain  programs  the  GOLD  can  do 
this  for  you  with  a  simple  command. 

In  Taskmaster  the  title  screen  has 
lights  flashing  across  the  title,  using 
the  GOLD  the  lights  possitively  dance 
and  flicker. 

Minerva  has  a  hot-key  RESET,  which  is 
ALT-CTRL-SHIfT-TAB,  and  is  very  nice 
to  use,  with  The  GOLD  this  was  not  so 
nice.  All  I  got  was  a  screen  of  vertical 
lines  about  half  an  inch  apart,  and  a 


lock-up.  So  I  removed  Minerva.  Meant 
losing  the  reset  and  a  few  other 
goodies,  but  I  try  to  do  without  it. 
Would  still  like  some  of  the  Minerva 
goodies  back  'tho. 

That  was  fine  until  I  tried  a  print-out 
of  a  document  composed  in  GOLD  and 
text87,  and  the  result  was  an  absolute 
mess.  On  a  two  column  setup,  the  lines 
were  inclined  to  mix  up  a  little,  two 
lines  opposing  one  another  would  shift 
outside  the  justified  settings,  or  even 
miss  the  odd  letter  from  a  word,  with 
capitals  and  double  spacing  inserted 
where-ever  fancy  takes  the  printer  or 
program. 

In  a  one  column  set-up  the  result  could 
not  be  better.  Is  it  possibly  text87  that 
is  wrong  in  the  two  column  set-up?  I 
do  not  think  so  as  Trump  Card  handles 
the  two  columns  fine. 

When  I  tried  the  same  two  column 
print-out  with  512  and  Cumana  the 
results  were  as  planned  for.  So  I 
decided  that  enough  was  more  than 
enough,  and  wrote  to  Miracle  in  Merry 
England,  and  am  still  waiting  for  a 
reply...  must  admit  at  time  of  writing 
they  have  not  had  time  to  receive  my 
letter,  in  which  I  enclosed  a  disc  of 
program  and  letters  I  was  working 
with.  I  await  their  reply.  More  on  this 
when  I  receive  it. 

Meantime  I  have  been  to  Dayton  and 
had  some  interesting  talks  with  a  few 
people,  and  have  discovered  that 
Miracle  until  recently  were  probably 
unaware  that  there  was  such  an  animal 
as  a  JSU. 

Another  suggestion  postulated  was  that 
the  QL  68000  was  in  opposition  to  the 
GOLD  68000.  MMMMmmmmmmm 

To  get  back  to  the  basics  of  the  GOLD, 
it  is  really  wonderful  to  use.  The 
speed  is  really  3  to  4  times  the  speed 
of  the  Trumpcard.  I  ran  two  QL's  at 
the  same  time,  one  with  GOLD  and  one 
with  Trump,  and  to  see  how  a  pattern 
evolved  was  fascinating.  The  GOLD  ran 
away.  The  demo  was  that  of  a  tree 
growing,   Trump    50   seconds,   GOLD  14 


SINC-LINK 


QL  QL 


GOLD  CARD 

(Continued) 


seconds. 

Next  I  took  a  Mandelbrot  Pattern  and 
did  the  same  thing.  Now  as  you  know 
some  of  those  patterns  can  take  for 
ever,  thus  making  it  almost  boring  to 
watch.  With  the  GOLD  the  pattern  was 
finished  in  ten  minutes,  while  the 
Trump  was  still  clicking  away  35 
minutes  later  when  a  thunderstorm  came 
to  my  rescue  (?)  and  stopped  the 
operation.  Luckily  no  damage  was 
done.    (This  time) 

I  went  to  ARCHIVE,  to  the  QL  Library 
and  the  speed  of  FIND,  NEXT  and  all 
other  commands  was  truly  amazing.  It 
redoubled  my  interest  in  this  program. 
Made  it  a  joy  to  use  and  eliminated 
many  of  those  periods  of  nothing  while 
the  QL  went  to  work. 

The  GOLD  Card  is  a  MUST  for  all 
serious  QL  users.  The  cost  is  high  and 
I  do  not  deny  this.  J  was  talking  to 
Paul  Holmgren  at  Dayton  and  I  think  he 
said  his  price  for  GOLD  is  $599.  But 
also,  where  else  can  you  step  up  to  ST 
speed  for  so  little  lay-out?  and  still 
retain  your  QL?  The  price  from  Miracle 
is  £330  and  they  will  allow  £89  discount 
for  your  Trump.  Other  discounts  for 
other  things.  You  would  have  to  ask 
them  about  that.  The  above  prices 
work  out  at  about  $653  and  $477 
respectively.    They  accept  Visa. 

I  have  been  using  a  360  DSDD  40  track 
disc  as  #1  and  when  I  tried  to  format  a 
disk  in  this  drive  it  formatted  to  720, 
(1440/1440)  and  when  I  put  this  to 
Media  Manager  it  shows  80  tracks.  (On 
a  40  track  drive?)  I  have  not  had  time 
to  work  this  out  and  there  is  a  special 
command  to  obviate  this  error,  but  I 
must  be  using  it  incorrectly.  The  GOLD 
can  handle  discs  in  360,  720,  1.44  and 
the  new  3.2  size.  I  would  like  to  see 
that  one! 

The  GOLD  will  automatically  detect 
which  type  of  disc  it  is  working  with 
when  reading  and  writing,  but  it  works 
on  a  trial  and  error  basis  for 
determining  the  density  of  a  disc  when 
formatting.  It  is  possible  to  format  a 
disc  to  a  higher   density  than  normal 


hence  the  special  command. 

To  see  free_mem  of  the  region  of  1.8 
Mbytes  is  something  new  to  me.  I  don't 
know  what  I  am  going  to  do  with  all 
that  memory  but  as  it  is  there,  no 
doubt  I  will  find  a  use  for  it,  I  always 
do. 

In  QUILL  we  are  all  aware  how  slow  the 
scroll  or  move  from  bottom  to  top  can 
be,  not  any  more.  Change  is  made  in 
the  wink  of  an  eye  near  enough. 

For  anyone  contemplating  the  GOLD  I 
would  say  hang  off  until  I  get  some 
answers  from  Miracle.  Why  buy 
something  in  which  there  might  be  a 
small  bug?  If  It  would  only  work  on  the 
JSU  as  it  does  on  the  JS,  it  would  be 
the  best  thing  to  come  along  in  a  long 
time.  Perhaps  it  is  the  two-column 
setup  of  text87  that's  wrong? 

One  thing  for  sure  is  that  it  is  not 
very  nice  to  use  the  GOLD  to  write  with 
and  have  to  go  to  Cumana  for  a  print- 
out. 

Please  forgive  rne  for  an  odd  or 
perhaps  an  incomplete  conclusion,  as  I 
only  had  the  GOLD  for  a  couple  days 
before  I  left  for  Dayton,  and  I  have 
just  got  back  and  am  rushing  this  for 
the  news-letter  which  is  due  to  go  to 
the  printer  now,  like  yesterday. 

If  you  can  add  anything  to  this  letter, 
please  feel  free  to  do  so  as  I  want  to 
know  what  does  and  does  not  work. 

I  will  have  more  to  say  next  Newsletter, 
and  by  that  time  perhaps  the  Postal 
strike  will  be  over  and  I  will  have  an 
explanation  from  Miracle  Systems.  § 


NEWSFLASH  -  GOLD  CARD 


JUST  AS  WE  WERE  GOING  TO  PRINT, 
HUGH  CALLED  TO  SAY  THAT  MIRACLE 
SYSTEMS  HAD  SUPPLIED  HIM  WITH  A 
NEW  EPR0M,  VERSION  2.2,  THAT 
SEEMED  TO  SOLVE  MOST  IF  NOT  ALL 
OF  HIS  GOLD  CARD-RELATED  PROBLEMS. 
MORE  ON  THIS  NEXT  ISSUE. 


SINC-LINK 


19 


BOB'S    NOTEBOOK     By  M  tiitchBll       July  91 
TOOLKIT   Part 4  #»t. 

This  is  the  fourth  and  final  part  of  the  Toolkit  tutorial;  the 
remaining  options  will  be  described  and  then  there  will  be  some 
closing  comments.  Any  serious  programmer  should  have  this  suite 
of  utilities,  some  of  which  are  indispensible  while  others  have 
only  occasional  applications.  One  or  two  are  of  doubtful  worth. 
There  are  some  missing  utilities  that  can  be  obtained  from  the 
club  library  to  fill  in  the  gaps,  eg,  one  that  will  break  a  very 
long   program   line    into    its   component  statements. 

Toolkit  has  one  excellent  feature  that  applies  to  nearly  all 
options:  every  parameter  is  prompted  for  on  screen  and  most 
errors  that  can  occur  are  trapped.  There  are  error  messages  to 
guide  the  novice.  The  prompts  call  for  input;  strings  and 
numbers  are  printed  on  screen;  letters  and  messages  from  a  table 
also  are  displayed.  Input  is  placed  in  buffers  and  when  complete 
are  tested  for  validity,  fl  final  execute?  prompt  gives  the  user 
a  chance  to  back  out.  fit  any  time  an  empty  string  will  abort  the 
option.  Some  routines  have  extra  tests  and  error  traps  built  in. 
The  original  author  D.  Spagnol  produced  a  masterpiece  and  it  has 
never  been  equaled,      let   alone  surpassed. 

PROGRAMING  OPTIONS... 

The  first  two  options  <V>  and  <Z>  are  for  use  with  renumbering 
routines.  If  memory  is  short,  <V>  will  work  with  <R>  and  <M>  but 
<C>  may  have  corrupted  the  variables.  If  lines  become  mixed  up 
try   using   <Z>.    It's   all    theoretical;    it    hasn't    happened  to  me. 

S  (INCORRUPT 

Occasionally  a  program  will  not  load  very  well  from  tape  and  any 
attempt  to  edit  lines  results  in  a  large  number  of  lines 
disappearing,  or  a  resounding  crash;  this  because  Invisible 
Length  bytes  have  been  corrupted.  Use  this  option  and  editing  is 
possible.  REM  lines  containing  machine  code  with  CHRS13  could  be 
ruined,    so  beware. 

S  LINE  SORT 

If  line  numbers  are  very  badly  corrupted,  they  may  not  be  listed 
and  will  be  rejected  as  program  lines.  Breaking  back  into  BRSIC 
and  doing  a  RANDOMIZE  USR  65248  will  do  a  simple  renumber  of  the 
Program  area  from  line  1  in  steps  of  one.  Mo  GO  TOs  are 
corrected.  This  choice  can  really  mess  up  a  listing  and  so  it 
has  been  made  hard  to  access.  Make  sure  you  have  a  SRUE  before 
trying   this  one. 

Best    of    luck  using  these  two. 

The   remaining     options  are  much  better  ones. 

M  REN  CREATE 

This  option  can  create  a  REM  with  up  to  35666  characters  in  the 
blink  of  an  eye.  If  you  store  machine  code  this  way,  this 
utility  is  for  you.  Prompts  are  for  Line  Number,  Length  and 
Symbol . 

S  REN  DELETE 

Prompts  for  start  and  finish  lines,  then  deletes  REM  lines  in 
that  range  only,  including  : REM  further  down  the  line.  It  will 
not   deal   with  such  weird  stuff   as  IF  a  THEN  REM. 

IS  UBG  DESIGNER 

This  prompts  for  a  character  as  a  starting  point  which  can  be 
amended  by  entering  the  coordinates  of  an  eight  by  eight  grid, 
number  first,  followed  by  <i>  to  fill  in  or  <o>  to  delete. 
Mirror  images,  inversions  and  rotations  are  possible.  The 
character  being  worked  on  can  finally  be  assigned  to  a  specific 
letter.  The  UDG  set  can  be  set  back  to  start  up  values  by  using 
9Z. 


SINC-LINK 


m  UBGs  TO  DATA 


Here  is  where  you  store  your  work  done  via  option  6  or  any  other 
collection  of  UDGs,  tor  that  Matter.  It  prompts  for  the  number 
of  UDGs  starting  from  fl  <eg,  4  will  give  graphic  fl,  B,  C  and  D>, 
the  number  for  the  first  DfiTR  line.  It  will  put  eight  bytes  in 
each  line. 


M  BVTES  TO  DATA 


Similar  to  <U> .  It  prompts  for  start  and  finish  addresses,  a 
destination  and  number  of  bytes  pot*  lino  (Max  64  by  t  os  pot- 
line).  Lines  will  increment  by  one.  Vou  have  the  option  of  Hex 
or  Decimal  input  with  only  Hex  giving  a  checksum.  There  is  a 
memory  check  before  each  line  is  started  to  ensure  that  the 
program  is  not  corrupted  by  incomplete  lines.  There  is  also  a 
check  to  ensure  enough  unused  lines  are  available  at 
destination.  If  your  code  conflicts  with  the  Toolkit  memory  map, 
move  it  somewhere  else,  load  Toolkit  and  later  move  the  code 
back  where   it    is  designed  to  operate. 


LAST  tllHUTE  THOUGHTS. . 
IH2  SET  UP. . . 


The  revised  code  starts  at  59696  and  creates  a  257-byte  block  of 
E9s    <233   decimal)    from  59392   to  59648. 

Start  up  procedure:  CLEAR  59391  then  load  the  code  tstk.Cl  which 
is   5672  bytes  long. 

Use  RANDOMIZE  USR  59696  then  RANDOMIZE  USR  60080  to  activate  the 
full  program  or  just  RANDOMIZE  USR  60000  if  you  do  not  want  to 
use   the  IM2  options. 


LIST  VARIABLES  CORRUPTION... 


If  you  get  a  corruption  at  the  end  of  the  variables  listing,  try 
this:  locate  E-line  C PEEK  23641  +  256  *  23642>,  then  POKE  E-line 
minus  one,    128.    Then  re-save   toolkit    Con   a  different  disk). 


UBG  DESIGNER. . . 
UBG  E  (start).. 


Vou  can  now  change  this  udg 
to  anything  you  want. 


This  sawple  shows  the  UDG  E 
changed  to  a  different  e. 


DESIGN  UDGS 
CHflRflCTER :  E 

USE    LINE    COLUMN    I/O     (on /Off) 

FUNCTIONS 


flBCDEFGH 

1    1 

2  mmmm  2 

3  ■  3 
*  pm  4. 

5  ■  5 

6  ■   6 

7  HBHMHi  7 


9A-9U    ENTER  UDG 

9U  INUERSE 

9U  LEFT -RIGHT 

9X  UP-DOUN 

9Y  ROTATE 

92  RESET  UDGS 


flBCDEFGH 

O    =  RESTART 

flBCDEFGH I JKLMNOPORSTU 
ABCDEFGH I JKLMNOPORSTU 

Once  you  have  designed  the 
new  UDG  enter  it,  using  9E 
or   any   location  ft-U. 

Use  option  U  to  save  your 

new  UDG  set   to  DATA  statements. 


DESIGN  UDGS 
CHflRflCTER:  9 

USE    LINE    COLUMN    I/O    (on /off) 

FUNCTIONS 
9A-9U    ENTER  UDG 


9U  INUERSE 

9UI  LEFT-RIGHT 

9X  UP-DOUN 

9Y  ROTATE 

92  RESET  UDGS 


flBCDEFGH 
0    =  RESTART 


ABCDEFGH I JKLMNOPORSTU 
ABCDEFGH I JKLMNOPORSTU 

Note  that   the   small   UDG  near 
the  top   changes   as  you  input 
the  pixels.    This   UDG  has 
also  been   inverted  using  9U . 


This  ends  the  four-part   series  on  Toolkit.    I   trust   you  uill 
find   it   as  useful   as   I   have.    If  you  have  any  coiients,    ideas  or 
or   suggestions,    please  contact  »e. 


Bob  Mitchell 


SINC-LINK 


For  some  time  now  I  have  been 
pondering  why  so  many  of  as 
have  computers.  Is  it  because 
it  is  the  'done'  thing  to  be 
computer  literate?  Is  it 
because  if  you  are  not  computer 
literate  you  are  out  of  the 
main  stream?  In  my  case  I 
always  thought  I  would  like  to 
have  a  computer  for  business 
purposes  but  my  business 
advisers  of  the  day  were  not  in 
agreement  with  me.  They 
thought  a  computer  would  not 
help  in  my  operation.  They 
were  accountants  so  they  should 
know,  so  I  went  along  with 
them.  Until  I  retired  and  then 
I  could  justify  it  on  the 
grounds  I  needed  a  toy  to 
occupy  my  leasure  moments.  So 
I  bought  one  -  a  1)1  at  that! 
Some  toy.  The  accountants  still 
don't  have  a  computer!  I  don't 
go  to  them  any  more  either.  I 
think  they  use  the  abacus!  Ton 
know  what  I  mean?  that  funny 
rack  with  balls  on  a  wire. 

Soon  I  was  doing  all  sorts  of 
weird  and  wonderful  things,  and 
some  not  so  weird  and 
wonderful,  but  I  was  having  a 
good  time.  I  thought.  I  got 
the  idea  if  I  had  this  program 
or  that  program  then  all  would 
be  solved  and  made  clear  to  me. 
So  I  bought  a  mass  of  programs 
and  tried  to  use  them  all,  and 
all  at  the  same  time.  Soon  I 
realised  I  was  getting  no-where 
fast,  I  was  trying  to  do  too 
much  at  the  one  time  when  I  was 
just  learning,  low  that  may  be 
a  strange  statement  as  we  are 
all  learning  all  the  time, 
which  is  why  we  keep  buying 
more  programs  or  trying  to 
write  new  ones.  It  is  all  a 
learning  process.  Or  is  it? 
Sometimes  we  never  learn. 


AMBLING 

By  Hugh  H  Howie 

What  I  am  really  getting  at  is 
do  we  really  need  all  those 
programs  on  which  we  spend  much 
money  ? 

Is  it  speed  we  are  after?  most 
of  the  stuff  is  fast  enough  for 
me.  I  ain't  that  fast  myself. 
Is  it  just  the  feeling  of  doing 
something  better  that  my  buddy? 
I  can  understand  that  as  my 
buddy  is  so  darned  slow.  Did 
you  know  he  is  so  darned  slow, 
the  other  day  he  was  stopped  by 
the  cops  on  the  highway  and 
when  he  was  asked  if  he  knew 
why  he  was  stopped,  he  asked 
the  cops  "las  I  the  only  one 
you  could  catch?"  Slow? 

Really  I  wonder  if  we  try  to 
play  with  too  many  programs, 
not  really  understanding  the 
capabilities  of  each  one.  It 
would  be  better  if  we  tried  to 
become  conversant  with  a  few 
programs  in  which  we  have  a 
real  interest  rather  than  have 
a  general  knowledge  of  many, 
and  end  up  using  none  of  them 
to  foil  capability. 

I  am  one  of  those  people  who 
have  played,  and  I  mean  played, 
with  so  many  programs  in  the 
past.  low  I  am  beginning  to 
get  the  idea  that  my  time  would 
have  been  better  spent  in  an 
effort  to  really  get  to  know 
what  a  given  program  really 
could  do.  The  other  night  I 
could  not  get  my  printer  to 
print  a  certain  character  which 
it  had  done  in  the  past,  so  I 
was  lazy  and  picked  up  the 
phone  to  ask  the  EXPHKT  what 
was  wrong.  The  answer  came 
back  in  short  order.  "Ton  are 
in  the  wrong  character  set". 
Sure  and  he  was  telling  me 
something  I  didn't  know?  That 


S 


is  why  I  called  him  in  the 
first  place.  So  I  did  a  quick 
check  while  he  was  still  on  the 
phone,  and  sure  enough  he  was 
right.  I  was  in  Italy  instead 
of  England.  So  I  did  a  quick 
adjustment  and  I  got  the 
character  I  was  looking  for. 

How  this  just  goes  to  show  that 
if  I  had  really  understood  the 
program  I  was  using,  I  could 
have  saved  myself  a  few 
Telephone  Bucks.  Did  you  ever 
see  the  size  of  those  bucks? 
Hakes  your  head  spin. 

Sometimes  I  feel  like  a 
politician,  I  don't  know  much 
about  anything  but  I  sure  do 
know  a  lot  about  nothing. 

Hang  on!  I'm  gettin  there.  He 
should  spend  more  time 
understanding  a  program,  then 
we  would  be  able  to  spend  more 
time  enjoying  the  use  of  the 
program,  understanding  what  we 
can  do  with  it,  and  what  it  can 
do  for  us. 

I  know  from  the  amount  of 
material  in  the  library,  and 
having  tried  to  see  how  all  the 
progs  and  utilities  work,  there 
is  no  way  in  all  the  wide  world 
I  would  have  time  to  use  them 
all,  or  even  if  I  would  have 
the  need  to  use  them.  The  only 
thing  I  can  use  as  an  eicuse  is 
that  it  nice  to  have  them, 
"Just  In  Case" 


Out  for  a  walk  the  other 
day  and  I  met  a  chap  I 
had  not  seen  for  a  while. 
Asked  him  how  he  liked 
retirement.  Said  he  liked 
it  fine  but  he  missed  the 
coffee  breaks. 


Now  thJui>  JU>  wnesie.  I  b(Lejv  aXmXjng  aJUL  thJUt>  tAjne..  I  nave,  j'u^t  ne.pt  you. 
hanging  on  tJUUL  I  got,  to  the,  end.  you,  now  <t>e.e.  what,  can  be.  done  by  a  bXX,  oi 
Atady  -in  the.  a-6e-4  o£  a  pi.o  giam .  Th>Lt>  A**  aJUL  done,  at  one,  tAjne,.  No  iancy 
cat  and  pa+te,.  No  iancy  Ve^h-Top  VabUubhesx..  No  iancy  anything  e,x.ce,pt  a 
dasm    good    U)oid    Vn.oceA>*on..     I     wXJUL    -Leave,    you.    to     gae*t>*t>     whLch,  one.. 


You  might  even  be  interested  enough  to  ask. 

PLEASE  DO  SINC-LINK 


BOB  -  S  NOTEBOOK 
REWRITE:     RUTOBOOT    &  GRRFIX24 

This  issue,  I  am  presenting  rewrites  of  two  utilities  which  are 
mainly  the  work  of  Steven  Gunhouse,  our  club  member  in  Bowling 
Green,  Ohio.  These  are  the  autoboot  and  graphics  24  utilities 
which  I  have  used  in  the  Omnibus  collection  but  which  can 
certainly  be   used   in  other  applications. 

Let  me  start  by  saying  that  he  wrote  to  me  explaining  how  I  got 
an  error  report  when  trying  to  use  PRINT  #4:  DRTR  0  to  access 
the  HMI  screen  dump  (or  anything  else) .  He  was  referring  to  this 
column  in  the  May-Jun  91  issue.  He  explained  it  this  way:  "The 
routine  <ie,  PRINT  #4:  DRTR  0>  does  not  exit  by  the  proper  way 
and  does  not  adjust  the  machine  code  variable  CH  RDD  to  point  to 
the  end  of  the  current  statement."  fls  an  aside,  I  must  add  that 
RANDOMIZE  USR  168:  DRTR  6  seems  to  work  equally  well,  although  I 
had  trouble  at  first. 

He  then  went    on  to  correct    the  problem  as   follows      CI     quote  in 

fart > :  "...refer  back  to  Sine-Link  vol  7  no  5  ...memory  map  of 
he  LKDOS  car t r i dge . . . . at  8194d  <2882h>  there  is  a  flag  which 
tells  LKDOS  whether  it  is  executing  a  BRSIC  command  like  DRTR, 
an  NMI  routine  or  something  else.  If  the  flag  is  8  (zero)  it's  a 
BRSIC  command;  if  a  1  (one)  it's  either  in  start  up  or  NMI; 
...if  an  11  it  is  CODE."  Then  he  went  on  to  write  some  machine 
code  which  included  loading  a  1  into  this  flag  location.  This 
code  improved  the  autoboot  file  "autobt.Cx"  as  used  in  the 
Omnibus  disk;  that's  the  one  that  returns  action  to  the 
AUTOSTART  file  in  the  selected  drive  whenever  it  is  triggered. 
Besides  cutting  the  length  to  56  bytes  by  taking  out  some 
redundant  stuff,  he  put  in  an  LDIR  routine  to  transfer  the  code 
quickly  from  the  24495  area  in  2868  RAM  to  the  16358  area  <34 
bytes  only)  in  the  LKDOS  RRM.  This  eliminated  my  use  of  POKEs  to 
accomplish  this  rather  slowly  in  the  earlier  version.  He  went  on 
to  state  that  "if  the  address  2882h  held  a  1,  everything  after 
the  LORD  was  automatic".  I  entered  this  code  and  when  it  was 
incorporated   into  my  Omnibus   disk,    it   did   indeed  work  just  fine. 

Graphix  24,  as  originally  conceived,  was  useful  for  copying  all 
24  lines  of  the  screen  to  the  wide  printer.  However,  if  had 
major  drawbacks:  It  was  necessary  to  check  that  the  print  head 
was  located  at  the  left  before  each  use  of  the  code;  the 
printout  was  restricted  to  a  left  margin  of  five;  all  24  lines 
would  be  printed  including  the  bottom  line  which  might  have 
those  pesky  dots  generated  by  an  LKDOS  NMI+S  save. 

Steven's  rewrite  overcomes  those  deficiencies  and  gets  over  a 
few  more.  It  handles  the  PRINT  #4:  DRTR  8  command  properly;  it 
responds  to  LKDOS  variables  LFEED  and  MRRG  so  that  the  line  feed 
can  be  turned  ON  or  OFF  and  the  left  margin  can  be  anywhere.  I 
have  used  this  feature  in  Omnibus  to  switch  from  left  column  to 
right  when  printing  screen  dumps,  thus  saving  paper  or  just 
helping  get   the  proper  layouts. 

R  word  of  caution:  if  you  interrupt  the  normal  sequence  of 
events  when  using  this  utility,  you  should  probably  reset  the 
printhead  manually  (turn  the  printer  OFF  then  0N> .  Furthermore, 
in  resetting  the  print-head  to  a  different  position,  the  utility 
generates  an  extra  line  feed  which  should  be  taken  into  account 
when  positioning  the  paper    in  the  printer. 

The  version  presented  here  is  intended  for  use  with  the  Rerco 
printer  i/f  driver  which  is  like  the  LKDOS  one.  It  uses  BIT  4, A 
at  3F5F  hex  to  replace  my  old  printer-ready  check  using  <IF  IN 
127<>23?>  and  thus  making  it  work  with  newer  Epson  compatible 
printers  including  my  Fastext  88.  Some  of  the  older  Epsons  and 
such  did  not  use  <CHft*  27;  ;  CHR$5>  to  do  the  graphics  but 
rather  <CHR*  27;"K">,  originally.  If  you  need  code  for  other 
drivers  (R&J,  TflSMRN,  TRS2) ,  there  is  a  separate  file  in  the 
library  that    is  available  on  request. 

Moreover,  the  PRINT  #4;  DRTR  8  command  has  been  expanded  to 
allow  for  one  or  two  parameters,  the  first  determining  the  start 
line  of  the  screen  dump  and  the  second  the  number  of  lines  to  be 
copied  to  the  printer.  In  both  cases,  if  the  number  is  out  of 
range  (or  missing  the  second  parameter),  it  presumes  the  default 
value   <8>  and  prints  the  whole  screen.   

The  code  for  both  the  autoboot  and  t  he  |qrapjhjj<_2jl,  routines  is 
shown  below.  In  both  cases,  the  LDIR  routines  are  NOT 
transferred  to  the  LKDOS  RRM. 

I  have  not  provided  the  disassemblies  but  these  can  be  prepared 
using  any  good  disassembler.    The  code   is  presented   in  different 


SINC-LINK 


f  crms ,  .  both 
11  tru 


in  HEX  and  PECIMflL,  with  and  without  addresses,  with 
and  without  spacing.  This  does  not  matter  and  all  that,  is 
necessary  is  that  the  code  groups  be  entered  Mia  a  convenient 
loader.  I  have  presumed  that  the  reader  will  have  machine  code 
loaders  to  use  with  these  listings.  If  you  need  these,  they  can 
be  obtained  from  the  library;  in  fact  a  disk  with  all  this 
material   will   be  placed   in  the  library. 


tutobt.Cx  at  5FRF 
haract ers . 


hex.      Spaces     required     after     each     pair  of 


I 

L 


F3CD628821C55F11  DE3FED53162Q81 22  88EDB8C3BR883E88 
32832821F63F1122  28818R88EDB83E81  328228C3C6884155 
544F535441525428   — — 


f 


ddress  holds   value   88h    (128d)    which   selects      drive      4;  1 

ou  want  the  autoboot  to  operate^angther  drive ,  change  this  t 
he  correct   hex  value   <82=drv8;    84=drvl;    88=drv2;    18=drv3> . 


If   you  prefer  to  work   in  decimal: 

0nlSb34  bytes2a?l5mo5ed  to  the  LKDOS  Rfltl  < 16358-16383 > 


243,285,98.8,33,197,95,17,222,63.237,83,22-32.1,34, 
8,237 . 176, 195, 186, 8,62, 128. 58, 3. 32, 33, 246, 63. 17,34, 
32, 1,18,8,237,176,62,1,58,2,32,195,198,8,65,85, 

84,79,83,84,65,82,84,32 


2  A  4-? 


To  alter  the  selected  drive,      r  ^  x  " 

change  address  24518   (now  128  for  drv4>  to: 
2=drv8;    4=drvl;    8=drv2;    16=drv3 . 

Here's  the  code  for  the  graphix  24  rewrite  and  which  I  call 
<grafsl.Cl>,    which  stands  for  Graphics/Start/no.    of  Lines. 

But    first   some  notes:  .    , ~ . 

The  Printer  control   codes  start   at   68B3h/24755d  and  comprise: 

27  65  8  for  8^72   inch   line  spacing; 

27  42  5  8  1       for  single  density  bit    image  graphics; 

27  58  for  normal    line  spacing.  . 

Inverted  printing  of  the  screen  dump  can  be  obtained  by  changing 
the  28  to  28  h  <48  to  32  d>  at  address  6e7Dh£24781d .  If  can  also 
be  obtained  by  doing  the  following  double  POKEs  to  the  LKDOS 
RRM 

PRIHT   #4:    POKE   16147,288   for   IHUERSE;    16147,296   for  NORMAL. 


graf si .CI 


HEX 


6884H 
6814H 
6824K 
6834H 
6844H 
6854H 
6864H 
6874H 
6884H 
6894H 
68R4H 
68B4H 
68C4K 
68D4H 
68E4H 
68F4H 


F3 

88 

R8 

6F 

3F 

47 

87 

28 

7B 

B^T 

3F 

IB 

IB 

79 

B2 

7F 


CD  62 
ED  B8 

mn 

28  82 

7D  E6 

3E  28 

16  88 

CD  B2 

67  CD 

3fl  82 

41  88^: 

32  FF^ 

FE  18 

3F  3R 

C9  88 


88  21 

C3  BR 

88  48 

84  67 

38  88 

87  8F 
CD  B2 
E5  IE 
3F  El 
R8  3F 
28  R7 
FF  FF 
FF  FF 
C9  46 
DC  3E 

88  88 


ID  68 

88  88 

3R  82 

ED  5B 

R7  28 

BF  8F 

3F  18 

81  7E 

CB  8R 

CI  18 

C8  CD 

FF  FF 

FF  FF 


11  688CH 

88  681CH 

28  682CH 

5D  683CH 

59  684CH 

6F  685CH 

F9  686CH 

24  687CH 

38  688CH 

C8  689CH 

8D  68RCH 

85  68BCH 

E5  68CCK 

CD  68DCH 

F5  68ECH 
88 


E4  3E 
88  21 
R7  28 

ii  ^ 

C5  E5 

21  82 

R2  28 

ER  2C 

21  8R 

88  C3 

IB  2R 

E7  CD 

B2  3F 

DB  7F 


ED  53 
7fl  3F 
22  CD 

51  IS 

3R  DE 

3F  CD 

81  37 

18  E5 

3F  CD 

BR  88 

85  88 

98  88 

18  F9 

CB  67 


16  28 

CD  9F 

92  3F 

3E  (47? 

9F  ^3F 

CB  13 

28  84 

9F  3F 

FF  FF 

81  FF 

El  78 

C9  3E 

28  FR 


81  E8 

3F  CD 

38  85 

CD  92 

18  95 

R7  28 

El  86 

38  F6 

3E  88 

CD  R8 

FF  83 

FF  82 

R7  C8 

8D  CD 

Fl  D3 


graf  si  .  CI  Pfc.TT 


24588  243  285  98  8  33  29  96  17 
24596  8  237  176  195  186  8  8  8 
24612  168  63  33  8  64  58  2  32 
24628  111  238  24  132  183  237  91  93 
24644  63  48  2  48  8  167  48  89 
24668  71  125  238  7  15  15  15  111 
24676  7  62  32  285  178  63  16  249 
24692  32  22  128  229  38  1  126  36 
24788  123  285  178  63  225  283  18  48 
24724  132  183  285  168  63  193  16  192 
24748  63  58  2  32  167  192  285  141 
24756  27  65  8  255  255  255  255  5 


24588  228  62  237  83  22  32  1  224 
24684  8  33  122  63  285  159  63  285 
24628  167  32  34  285  146  63  48  5 
24636  92  26  254  44  32  15  285  146 
24652  133  254  25  56  2  62  24  149 
24668  197  229  58  222  62  71  167  48 
24684  33  138  63  285  159  63  225  6 
24788  162  48  1  55  283  19  48  246 
24716  234  44  16  229  32  4  62  8 
24732  33  138  63  285  159  63  285  168 
24748  8  195  186  8  255  255  255  3 
24764  27  42  5  8  1  255  255  2 
continued. . . 


SINC-LINK 


24772  27  58  255  255  255  255  255  229  24788  231  285  144  8  225  128  167  192 

24788  121  254  24  281  78  35  126  285  24796  178  63  16  249  281  62  13  285 

24884  178  63  58  228  62  167  288  245  24812  219  127  283  183  32  258  241  211 

24828  127  281  8  8  8  8  8  8   


CHANGES   TB  OMNIBUS 

on  adjusting  the  latter. 

Rssuning  that   you  J?-^  O«oibus  «jC|s^e  c«p3  code     to  compress 

LStt^?erV?'^;,„  K.  saCId  as  on!  file.  thus  conserving  track 
lEacI  •&i?hCfRe^Ibo3rjhanies°«ade  saie  the  three  in  one  bu 
RANDOMIZE   USR   188:    SflUE    "ombMC.Cl   CODE  i4Jii,3ii. 

u  i       .  .       r  _  i  i     ,i  _„  ^hmnoc  fn  uour      Omnibus     BRSIC  listing. 

Now  make  the  following  cnanges  to  yuur      ^i-..  version  you 

The  line  numbers  may  vary  a  bit  depending  on  rne  version  you 
have  . 

1868  change  16318  to   16358  04311 

1186   PRINT    *4:    LOAD    'ortbMC .CI   CODE   ?22qs •    REM  autobt 

1228    should   end   with   RftNDOMIZE   USR   24495  .    REM  autoDt 

1225   RRNDOMIZE   USR   24588:    REM  grafsl 

2578   RRNDOMIZE   USR  24588 

4818   PRINT   #4:    POKE  8214,16358 

Save  the  Back-up  from  the  «ain  menu,  then  |ave  t he  flutost art 
version  from  the  main  menu.  Jbe  fiutostart  nas  rne  code  qroups 
saving  all      the     system     variables      incuding     he   safe  9  P 

located  from  24311   up.    Make   two   copies   just    To   oe  sate. 

Clear   the   computer   and    load   the   K««t2Sttini   al  lathis*   to11  work? 
gone   well.    If    you   have   some   * rou6i*   9?k£ 1 Sfuh  library 
you  may  have   to  get    a  disk  copy  from  the   club  library. 

Once  again,  many  thanks  to  St*venfpr  providing  ?nnerf ni§rk?SSs 
useful  code  as  well  as  a  lot  of  insight  into  rne  inner  wortcings 
of    LKDOS,    printers   and  machine  code    in  general. 

Bob  Mitchell  918738 


ZX81   -  FASTER  SLOW  MODE 

If  you  like  to  type  in  programs 
slow  mode,   you  will  have  found 
that   it  can  he  annoying  when 
adding  lines  to  a  long  program,  to 
have  to  wait  while  the  computer 
writes  the  entire  screen  every 
time.     It   is  especially  bad  if  the 
line  is  a  long  Print  or  Rem  line. 

This  small  program  can  be 
temporar  i I y  stored  near  the  start 
of  the  program  using  a  few  spare 
I  ines.   When  one  has  a  screenful  of 
lines,   type  GOTO  (first  program 
line).  Answer  the  prompt  with  the 
last   line  you  have  entered  and  it 
will  return  you  to  the  last  line 
you  have  entered  and  it  will 
return  you  to  that  line  with  an 
empty  screen  below.    It  also  POKEs 
the  listing  system  variable  to 
ensure  that  every  relist  after 
that  will  return  to  your  chosen 
I  ine. 


Retyped  from  the  April    '82  issue 
of  Your  Computer  Vol,  2  No,  4' 

2  CLS 

3  PRINT  "TYPE  A  LINE  NO" 
14.   INPUT  XXX 

5  POKE  7  64  7  9,   XXX  -   INT  (XXX/ 
256)* 256 

6  POKE  16420, INT  (XXX/256) 

7  LIST  XXX 

8  STOP 


SINC-LINK 


ONE-SIDED  DISKS 
DO    NOT  EXIST 

By  Hugh  H  Howie 


Sittin'  here  thinkin.  Now  jest  yew  hole 
on  a  minit,  a  often  sit  and  think.  It 
mebbe  no  be  very  obvious  but  a  is 
thinkin.  A  mebbe  no  be  thinkin  bout 
much  but  at  leas  a  am  a  thinkin. 

Now  my  thoughts  turned  to  Computer 
Disks.  Just  shows  i  am  thinking,  because 
as  soon  as  I  mention  computers,  I  clean 
up  my  act. 

We  have  all  heard  of  Double  sided  and 
Single  sided  disks.  Did  you  know  that 
there  is  no  such  animal  as  a  single  sided 
disk?  No  sir!  They  is  all  double  sided. 
That's  right,  all  disks  are  double  sided  no 
matter  what  the  jacket  or  manufacturer  or 
whatever  might  say. 

It  is  the  DRIVER  that  is  single  sided. 

Some  drivers  write  to  one  side,  or  both 
sides,  but  the  disk  ALWAYS  has  DOUBLE 
SIDED  CAPABILITIES.  At  least  that  piece 
of  plastic  inside  has  the  capabilities. 
Sometimes  the  jacket  won't  let  it,  but  it  is 
there. 

There  are  40  track  and  80  track  and 
single  density  and  double  density  and 
even  quad  density,  but  all  disks  are 
double  sided.  No  matter  what.  Density  is 
all  to  do  with  the  number  of  tracks  a 
"Disk  Driver"  is  capable  of  putting  on  the 
disk.  The  difference  is  that  with  the  40 
track,  each  track  is  wider,  and  with  80 
track  each  track  is  narrower.  The 
Density  has  to  do  with  the  density  of  the 
tracks  on  the  disk.  Now  there  is  a  verra 
profound  statemant  if  there  ever  was  one. 

In  a  phonogragh/gramaphone  record,  the 
'groove'  is  only  one  continuous  spiral 
from  the  outer  edge  to  the  centre  of  the 
record.  But  on  a  Disk  as  in  diskette, 
each  track  (groove-  but  it  not  a  groove- 
just  a  track  still  to  be  placed  there  by 
the  driver)  is  on  its  own.  Thus  a  40 
track  actually  has  40  seperate  tracks. 

Now  here  is  where  it  can  get  a  bit 
confusing,  which  is  what  thinkin  is  all 
about.  It  is  possible  when  using  a 
double-sided  driver  to  format  a  disk  so 
that  the  disk  is  one-sided. 

Come  again? 


You  see,  a  double-sided  driver  has  two 
heads,  which  is  why  it  thinks  better  than 
you  and  me,  and  when  it  is  writing  it 
uses  both  heads,  one  writes  to  side  0  and 
the  other  writes  to  side  1. 

Now  if  we  give  it  a  format  command  where 
the  eleventh  character  of  the  format  name 
put  on  the  disk  is  an  asterisk,  then  that 
disk  will  only  be  formatted  on  one  side. 
That  would  be  side  0. 

The  asterisk  being  the  eleventh  character 
of  the  name  tells  the  driver  not  to  use  its 
1  head,  just  to  use  its  0  head.  So  the 
driver  writes  to  side  0  and  forgets  about 
side  1.  We  therefore  have  a  one-sided 
disk  at  last!  Next  time  you  format  the 
disk,  do  so  normally  and  you  will  be  back 
where  you  started  with  a  two-sided  disk. 

If  we  were  to  copy  to  this  disk,  then  put 
this  disk  through  Media  Manager  or 
something  like  that,  we  would  find  that 
indeed  there  was  no  side  1.  It  is  ignored 
completely. 

The  command  which  does  this  is:- 
FORMAT  "FLP  1__MYSTER  IOUS*" 
Don't  forget  the  quotes. 

The  result  is  a  disk  called  MYSTERIOUS, 
and  it  sure  is.  But  of  course  you  can 
use  your  own  title. 

So  we  CAN  have  a  one-sided  disk,  but 
only  if  we  make  it  that  way  ourselves. 

Of  what  value  it  would  be  I  have  no  idea. 
But  I  like  to  get  into  things  like  that  as 
this  is  the  only  way  to  learn.  To  hear  and 
read  about  single  and  double-sided  disks, 
and  then  look  at  them  both,  it  seemed  to 
me  that  both  sides  appeared  to  be  the 
same.  I  also  could  not  understand  why 
the  manufacturer  would  go  to  the  trouble 
of  coating  one  side  when  it  would  be  just 
as  easy  to  coat  both  at  the  same  time. 
Not  to  mention  the  problem  of  making  sure 
that  a  given  side  was  the  UP  side  when 
placed  inside  the  jacket. 

Why  not  try  it  for  yourself? 


SINC-LINK 


nOTESOOK 


DIGITRL  CLOCK 


i  15:80:001: 
^"FOR'fHi'frieie""  i 

i 

fi   MRCHINE   CODE   PROGRRM   LOOKING  I 
FOR   R   PLRCE   TO   UORK!         TRY    IT!  I 
V  J 


This 
digi 
be  u 
If  u 
2  to 
via 
pro 
w 

seco 
uppe 
sere 
code 
sere 
des  i 


rog 
•  ill 


bit 
tal 
sed 
ses 

all 
mult 
raw 

sh 
nds 
r  r 
en  . 

pro 
en 
rabl 


of  CO 
24-hou 
i n  var 
the  Z8 
ou  the 
i  t  ask  i 
i  s  ope 
ow  ho 

fin  ex 

framme 
ocat  i 


de  will 
r  clock 
ious  app 
8's  Inte 

clock  t 
ng,  whil 
rat  ing . 
urs,  pi 
14:66:52 

corner 
per ience 
r  can 
on ,  it 


provid 
which 
1 i  cat i 
rrupt 
o  app 
e  ano 
The  c 
nut  es 
>  in 

of 
d  mac 
a  1 1  er 
this 


e  a 
can 
ons . 
Mode 
ear  , 
t  her 
1  ock 
and 
the 
the 
hine 
the 
i  s 


To   start  the 
which  POKES 
into   the  last 
code   and  then 
USR   65020  whi 
rout  i ne 
interrupts.  T 
GO      TO  4000 
RANDOMIZE  US 
triggers   an  I 
the  interrupt 
restart    the  c 


clock  G 
the  inp 
few  byt 
does  a 
ch  actua 
and  d 
o  stop 

wh  i  c 
R  65077 
Ml  rout  i 
s  normal 
lock,  GO 


0  TO  3000 
ut  t  ed  t  i  me 
es  of  the 
RANDOMIZE 
tes  the  IM2 
iverts  the 
the  clock, 
h  does  a 

which 
ne  to  make 
again .  To 
TO  3030. 


Memory  used  is  from  64256  to 
65291,  part  of  which  is  taken  up 
with  a  257  byte  table  of  251's 
necessary      to  make        the  IM2 

routine  work  with  the  TS2068. 
See  this  column  Sep-0ct  85  for  a 
more  detailed  explanation  of  how 
this   interrupt   mode  2  functions. 


I  used  Carol  Brooksb 
routine  in  ZX  Comput 
85  as  my  source,  co 
from  Spectrum  to 
mainly  to  includ 
modifications:  and  c 
display  to  a  24-h 
which  involved  addin 
extra  code.  Machine 
can  find  added  inf 
that  article.  The  cl 
keep  time  accurate 
second,  if  left  runn 
long.  The  only 
provided  is  a  coa 
address  65097.  It  is 
set  at  60  and  can  be 
a  higher  value  to  si 
or  a  lower  one  to  sp 
found  it  best  to  lea 
60  as  is;  other  valu 
it    less  accurate. 


ank's  timer 
ing  Oct/Nov 
nverting  it 
TS2068  use, 
e  the  IM2 
hanging  the 
our  clock, 
g     a  little 

code  buffs 
ormation  in 
ock  wi 1 1  not 
ly  to  the 
ing  for  very 
ad j  ust  went 
rse  one  at 
original ly 

changed  to 
ow  the  clock 
eed  it  up.  I 
ve  the  value 
es   only  made 


Using  disk     SRUE        and  LORD 

commands  while  the  clock  is 
running  will  cause  the  clock  to 
stop  running  briefly  and  then 
resume.  Using  the  NMI  button 
will  cause  a  crash  so  it  is 
better  to  turn  the  clock  off 
when  about   to  do  this. 

Enter  the 


1 ist  ing 
TS2068  and  GO   TO  9600 


into  the 
to  save  it 

to  disk.  When  the  program  is 
first  loaded,  it  will  POKE^  the 
code   into  upper  memory  at  65020. 


100  REM  clock 

185   REM     GO      TO      LINE      3000  to 
start      clock.      Enter     time  in 
24-hour   system      (eg,      7:28pm  is 
192800> . 

110  REM  GO  TO  LINE  4000  to  stop 
c 1 ock « 

115  REM  value  in  65097  can  be 
changed  to  alter  clock  speed.  60 
is  normal;  higher  value  slows 
c 1 ock  ■ 

120  REM  turn  clock  off  before 
using  NMI  button. 

1888  DATA  33,0,252,1,251,0,113, 
35,16,252,113,62,195,50,251,251 

1001  6flTR  33,60,254,34.252,251, 
62,252, 237,71,237,94,253,54,2,0 

1002  DATA  24,11,22,0,24,48,48, 
58, 48, 48, 58, 48. 48, 33, 38, 254 
1663   6ATA        6,ii, 126, 215,35,5, 
32,250,201,237,86,62,63,237, 

71  201 

1004   DflTfl  245.229,197,213,175, 
58, 1, 255, 66, 56, 1, 255, 254, 
68218  74 

1665   DflTfl  8,175,58.1,255.58,9, 
255,66, 58, 9,255, 254,18,56,164 
1866   DflTfl  175,58,9,255,58,8, 
255,66,58,8,255, 254,6,56, 89,175 

1667  DflTfl  58,8,255,58.6,255,68, 
58, 6,255, 254, 18, 56, 74, 175, 58 

1668  DflTfl  6,255,58,5,255,66,50, 
5, 255, 254,6,56, 59, 175, 50,5 

1009   6flTfl  255,58,3.255,68,58,3, 
255,254, 4,48,2,32, 2i, 58, 2 
1818   Dfltfi  255,254,2,32,14,58,3, 
255.175, 56, 3,255,58,2,255,  i75 

1611  Dfltfl  56,2,255.58,3,255,58, 
3, 255, 254, 16, 56, 11, 175, 56, 3 

1612  6flTfl  255,58,2,255,66,56,2, 
255,62, 24, 58. 10, 255, 62, 2, 56 

1813  DATA        il, 255, 79, 6, 255-16, 
135,135,135, 79,6, 8,33, 128,61,9 

1814  DATA  58,16,255,95,62,64, 
87. 6, 8, 126,18,35, 28, 5, 32, 249 
iei5  DATA  56,16,255.66,58,18, 
255, 58, 11,255,68. 254,18, 48, 2,24 
1816  DATA  266,195,74,6,8,8,8, 
0,10,0,0,10,0,0,0,0 

3600  RESTORE  io60:  FOR  i=l  TO 
272:  READ  a:  POKE  65019+i,a: 
NEXT  i 

3005  INPUT  'time?  hhmmss  "s  LINE 
tS:    POKE   65281,8:    POKE   65262, UAL 

t*<l>:    POKE   65283, UAL   t*<2>    _ 

3816  POKE  65285, UAL  t*<3>:  POKE 
65286, UAL  t$<4> 

3626  POKE  65288, UAL  t*C5> :  POKE 
65289, UAL  t$<6> 

3838  RANDOMIZE   USR   65020:    STOP  : 

REM  clock  starts  _  

4666  RANDOMIZE  USR  65077:  STOP  : 
REM  clock  stops 

9668      RANDOMIZE      USR      100:  SRUE 
SAMPLE   CLOCK   UITH  0HNIBUS: 


SEP  11991 


<  M  i  S  C 


MR IN  MENU 


'17  :  26  :  05 

Disk; 


/Dates      B> HELLO!  Boot 
D  > 

F>DisK  Index 
H  >  HELP !  !  ! 

j>Tasort 
L  >Ue  r  i  f y  Disk 
N  >  M5 -So r  t 
p 


> SetEH i n  t  e  r 

>CRT  CyNaSo 
K  >5pace   Li nes 
M>BEB3B3D 

o  >Boo  t   s e iDr v 

Q>FULL  CRT  R 
S  >Ban  k  Rccts  T 
U>Budget  U 
U>B/U  Omnibus  X 
Y > Ed  i  t  Menu  Z 
PRNTR  SET >  PICR 
OMNIBUS  V2.17 
PD    ON    LL=64    LM  =0 


PRO /FILE 


> 

> Index  LP 
>Save  Rutost 


LF 


NS=OFF 

on  (93BB! 


SINC-LINK 


Service  Charges  for  SINCLAIR/TIMEX  Computers       Revised  May  1.  1991 
Prices  do  not  include  shipping  and  handling  charges. 

Shipping  charges  will  vary  depending  upon  weight,   distance  and  method. 

I  will  ship  via  the  cheapest  method  unless  you  specify  otherwise. 

The  minimum  handling  charge  for  shipping  is  $2 . 00 . 

There  may  also  be  a  surcharge  for  repairing  modified  equipment. 

The  minimum  surcharge  is  $5 . 00 . 

Definition  of  modified  equipment:   Any  Circuitry  changes  on  the  inside  of 
the  equipment  case  that  involved  the  addition  of  components,  wires, 
integrated  circuits,   or  hardware.   Customers  who  send  in  computer  equipment 
that  has  had  modifications  done  to  it,   which  change  the  manufacturer's 
original  design,   are  subject  to  paying  a  surcharge. 

1 .  The  following  items  will  be  repaired  for  $5.00  each  +  parts  &  shipping: 
TS-1000       ZX-81        16k  Ram  Pack       Any  MEIiOTECH  Module       ZEBRA  TALKER 

MIRACLE  Centronics 

2 .  The  following  items  will  be  repaired  for  $10.00  each  +  parts  &  shipping: 
TS-1500       TS-2020       TS-2050       PC-8300       ZX-80       Any  BYTE-BACK  Module 

TS-2040  Z-SIO       AERCO  2068  Centronics 

3 .  The  following  items  will  be  repaired  for  $15.00  each  +  parts  &  shipping: 
TS-2068       SPECTRUM       A&J  Microdrive       LARKEN  2068  FDI       CUMANA  FDI 

LARKEN   1000  FDI       CST  FDI 

MIRACLE  512K 

4 .  The  following  items  will  be  repaired  for  $20.00  each  ±  parts  &  shipping: 
ROTRONICS  Wafadrive 


5 .     The  following  items  will  be  repaired  for  $25.00  each  +  parts  &  shipping: 
SINCLAIR  QL         AERCO  1000  Centronics         AERCO  2068  FDI 
TRUMP  CARD  ZEBRA  2068  FDD  System         AERCO  1000  FDI 

For  repairing  add-on  modules,  printers,   monitors,   or  other  computerized 
equipment  not  listed  above  -  write  for  a  price  quote  for  the  items  you 
want  repaired.    I  also  service  ATARI .   COMMODORE.   COLECO.    TI .   OSBORNE.  TRS-80. 
and  IBM  compatibles. 

For  modifying  or  upgrading  any  computer  or  add-on  module  -  write  for  a 
price  quote. 

Customers  can  expect  a  4-6  week  turnaround  on  most  repair  jobs. 
Upgraaes  and  problem  cases  may  take  longer. 

You  will  be  notified  of  any  unusual  delays  or  excessive  repair  costs. 

(over) 


SINC-LINK 


instructions  for  sending  in  computer  equipment: 


1.  For  repairs,   please  use  a  separate  sheet  of  paper  to  describe  in  detail 
the  problem  you  are  encountering,   and  whether  or  not  the  problem  is 
intermittent.   List  any  software  or  hardware  that  are  associated  with  the 
problem.   Also  list  any  modifications  that  have  been  done  to  your  equipment. 

2.  For  upgrades,   please  enclose  or  specify  the  magazine  article  or  other 
source  of   information  for  doing  each  upgrade. 

3.  You  may  include  a  check  or  money  order  as  a  deposit  for  repair  costs. 
You  will  be  notified  if  a  balance  is  due.   Over  amounts  will  be  refunded. 

4.  Carefully  pack  and  ship  your  equipment  to  the  address  below  via  UPS  or 
parcel  post.   UPS  is  sometimes  cheaper,   especially  with  heavy  items. 


DAN  ELLIOTT 
RT    1,    BOX  117 
CABOOL,    MO  65689 

Phone   (417)   469-^571   everyday  3:00  AM  till   8:00   PM  Central  time. 

If   there  is  no  answer,    try  another  time.    I'm  busy  building  a  log  house  and 

can't  always  hear  the  phone. Please  do  not  call   after  8:00  PM  Central  time. 


VISA  /  MASTERCARD  accepted  with  4%  surcharge. 

(Charge  customers  must  provide  Acct.   #,   expiration  date,   and  name  on  card.) 

Put  some  punch  in  your 
PRINT  FACTORY©  graphics!! 

Collection*  1    Collection#2    Collection*  3 


Miscellaneous       Animals        Digitized  Misc. 

Men/Boys  Funny  Female  Faces 

Women/Girls  Transportation     Male  Faces 
Digitized  Misc.       Sports  Funny 
Computers  Animals 
Holidays       Zodiac  Signs 
Food  Holidays 
Xmas  Transportation 
Xmas 


Over  J  SO  different  large  &  s"matl  1 


$12.95  ppd  each,  $1 9.95  ppd  for  two,  or 
all  three  collections  for  $26.95  ppd. 
[Check  or  money  order  only.] 
Available  on  tape  or  5  1/4  "  DSDD  LAHKEN 
or  OLIGER  disk  -  please  specify. 


Send  order  to  i 
John  McMichael,  1710  Palmer  Dr, 
Laramie,  WY  82070 

SINC-LINK  29 


QL    OVERSEAS  LETTER 

The,  4 ottoutng  teJJ^CA.  wcu>  n,e,ceA,veA  n,e,cejxtJLy  t  and  *U>  dUU>pZayeA  heste,  Ion,  the, 
tn4  onjnat^Lon  and  eAt4> tcatLon,        aJUL  memb esiA>  . 

The,  n,e,ceX,pt,  o4  thL6  Ze^ttesi,  itiouJLd  be,  an  tnd-LccuLLon, ,  to  me,  cut  SLojju>t,  that. 
oilsl  noM)4>Zej^tesL ,   on,  AomeXhLng ,   o£  the,  Toronto  Ttmex.- StncJLatsi,  \l*esu>  Ctu,b  -L6 
n,exLching  ion,  beyond  oan,  own  -6ho-n,o^6  and  -La  beXng  n,e,co gn-Lbed  a4>  a 
pn.o  gn,eA4>t.v  e,  and  tntesi,e*i>tAJig  on,gant^atA,on. 

\ln^  onAiLnat,eJiy  tt,  may  not  be,  po^i,-6t.b-te,  to  mahe,  an  tntest- chang e,  o£ 
H<Lta<i>LQjttQsu>  uonh,   ouJ-Lng  t,o  the,  Zanguuage,  ptob-tejn .     I  have,  a  coapJLe,  pn,ognxu7u6 
which  I  cannot  LU>e,  a4>  they  an,e,  tn  Gesunan  on,  Vmtch  on,  -home,  JLangaage,  tn 
which  I  am  tgnonjuxt,. 

Su.gge^>ttoru>  welcome,. 

Hagh  H.  How-cc 
Sinclair    QL    Us  e>  ir     C  lub    e  .  V  . 


FOREIGN 
CONTACT 
SECTION 

Abs:  SQLUC-FCS,  Talstra&e  21,  D-5460  Ockenfels 

SINC-LINK 

586  Oneida  Drive 

L7T  3V3  Burlington,  ONT 

Kanada 


Franz  Herrmann 
TalstraiSe  21 
W-5460  Ockenfels 
Germany  /  West 


8/7/91 


Dear  Hugh  Howie, 

I  was  reported  that  your  group  is  supporting  the  Sinclair  QL 
as  our  group  does.  We  would  like  to  establish  contacts  with 
you,  exchanging  newsletters,  news,  freeware  etc. 

Secondly,  please  ask  your  members  who  are  active  in  communi- 
cations to  log  into  the  GEnie  net.  The  INTL.QL  group  from 
Holland,  Britain,  Sweden,  Austria  and  Germany  is  echoed  via 
this  net  to  the  states.  w 

Thank  you , 

Franz  Herrmann 
Sinclair   QL  User   Club  e.V. 

—  Foreign  Contact  Secretary  - 


SINC-LINK 


July /Aug  1991 

August  12,  1991 
Dear  Out-of-town  Members, 

In  my  Mar/Apr  1991  OOT  letter  I 
talked  about  printers  <£  printer 
interfaces  and  it's  being  somewhat  of  a 
"black  art".   Well,    in  a  way  1  still 
think  it  is.  But  after  working  on  the 
Omnibus  program,  and  trying  to  help  a 
couple  of  members  with  their  printer 
prob I  ems,    I  have  come  to  a  greater 
understand ing  of  the  subject.  What  I 
have  learned  that  it  is  a  "black  art" 
only  to  those  who  are  uninitiated!  I 
have  reached  a  point  in  my  understand i ng 
where  I  have  started  an  article  on  the 
subject,   which  I  am  sure  will  be 
helpful.   I  plan  to  get  it  into  the 
newsletter  an  a  couple  of  months.  What 
i  would  like  to  do  is  to  send  some  draft 
copies  to  members  who  would  critique  it, 
and  hopefully  identify  areas  which  are 
still  mystifying,    i.e.   where  I've  missed 
the  boat! 

Certian/y  I  have  learned  a  lot  from 
this  ex  per ience,  and  it  would  be  a  shame 
not  to  get  it  to  other  members  who  have 
a  large  printer  and  little 
understand  ing! ! 

All  this  has  caused  me  to  fall 
behind  a  bit  in  my  correspondence.  Not 
too  much  really,   but  if  i  have  not 
responded  to  your  query / I etter ,  do  drop 
me  a  line  and  say  so!! 

We  were  not  able  to  get  our  regular 
meeting  place  for  July  and  August,   so  we 
cancel  I ed  the  summer  meetings.  Last 
night  we  held  one  at  my  place.  I'm 
afraid  we're  spoiled,   and  two  months  in 
a  row  of  no  meetings  is  just  too  much. 

Since  I  ment  ioned  that  we  had 
refined  the  OMNIBUS  disk,   I  have  sent 
copies  to  quite  a  number  of  members. 
Now,^  we  have  continued  to  add  a  few 
ref inements  to  it,  and  it  may  be  that 
theearlier  recipients  should  consider 
asking  for  a  more  recent  vintage.  One 
item  which  has  been  added  is  an  improved 
Graphics  2U  option.   The  earlier  vintage 
had^  a  T  imach  i  ne-comp  i  I  ed  routine  to 
print  out  a  screen  to  a  large  printer. 
One  of  our  members,  Steven  Gunhouse,  has 
written  a  pure  m/c  routine  to  do  the 
job,  and  it  prints  out  Oh,   so  much 
faster.  And  it  also  allows  you  to  print 
partial  screens.   It  is  imbedded  in  the 
LKDOS,   and  accessed  with  either  the 
NMl-F  key,   or  with  a  RAND  USR  100:  DATA 
0.   There  is  also  the  capability  of 
placing  it  at  any  position  across  the 
page. 

On  this  topic  I  came  across  a  Tasman 
m/c  routine  that  will  do  much  the  same 
thing.   Though  in  the  case  of  the  Tasman 
code  it  prints  a  doubl e-s ize  image. 


Fast,   though.  And  this  one  does  not 
require  the  Larken  LKDOS.    It  is  stored 
in  the  printer  buffer  area.  Called 
"tasepson".  Ask  me  about  it,    if  you  are 
interested. 

We've  received  a  copy  of  a  new 
newsletter.   It's  called  the  FDD 
Newsletter.   It  is  devoted  exclusive! y  to 
the  Timex  TOS  system,   the  disk  system 
put  out  by  Timex  Portugal  and  sold  by 
some  Timex  dealers  in  the  USA. 

This  was  issue  2.   It  consists  of  two 
sheets  (3  pages  of  contents,  plus  a  11" 
x  17"  schematic  of  the  Timex  FDD3000 
system.   There's  no  ind  icat  ion  of 
newsl etter  cost,  nor  is  there  an 
editor's  name  on  it.  But  I  have  an 
address;  here  it  is: 

FDD  Newsl etter 

1271*    U9th  Street,  #821 

Brooklyn,  NY  11219-3011 

in  I  send  you  a  copy  of  it,    if  any 
of  you  FDD  owners  write  me! 

There  is  also  another  newsl etter 
coming  out.   I  may  have  mentioned  it  in 
my  last  letter.   It   is  called  the 
International  QL  Report.   It  is  published 
by  SeaCoast  Services,   with  Robert  Dyl, 
Sr.,   the  Editor. 
Their  address  is: 

IQLR 

15  K i I  bourne  Court, 
Newport,  Rl  028H0 

It  consists  of  6  sheets  (8  pages  of 
good  stuff,  a  2-page  quest ionna ire,  a 
subscr ipt ion  form  page,  and  a  cover 
page.    It  looks  pretty  authorat  ive,  and 
impress  ive.   I'm  looking  at  the  Inaugural 
Issue.   To  be  published  4-6  times  a  year. 
Subscr  ipt  ion  rate  is  $3  per  issue;  $10 
US  per  year  in  US  and  CANADA.   They  offer 
to  send  a  free  issue  if  they  get  the 
name/address  of  a  QL  user.    I  shall  send - 


in  names  of  all  the  QL  members  that  I 
have  a  record  of,   so  you  might  hold  off 
for  a  while  to  see  if  you  get  a  copy 
from  them. 

I  have  been  looking  through  the 
current  issue  of  the  newsl etter.  There 
are  two  articles  by  Bob  Mitchell  on  a 
2068  toolkit  program.   This  program  can 
be  found  on  the  club  library  tape  #28, 
and  also  on  the  two  Larken  library 
disks,   #'s  L-02  and  L-33.   Try  this 
utility.   It  is  a  good  one  for  programmer 
types,     use  it  all  the  time. 


On  Larken  library  disk  #33  Omnibus 
with  Pul l-down  menus  J  have  been  doing 
some  rev  is  ions  to  it.  Adding  the  same 
features  as  I  earlier  applied  to  the 
Disk  #L-02,    That  is  I  made  it  easier  to 
custom ise  it  to  your  Larken  system.  It 
is  on  a  single  DSDD  5  1  / 1*  inch  disk.  Ask 
for  it   if  you  would  like  to  see 
pull-down  menus  in  operat ion.  Doing  this 
make  me  look  closely  at  the  Basic 
programming  for  the  window  pul l-down 
mechan ism. 

I  found  it  quite  enchant  ing  in  it's 
elegance  and  simplicity.   The  code  does 
it  so  well,   that  the  Basic  programming 
to  make  it  do  what  you  want,    is  very 
simple.   I  think  it  deserves  better 
treatment   in  a  news  I etter  article.  Maybe 
I'll  do  just  that.  But  the  code  is  too 
lengthy  to  put  in  the  newsletter.  I'll 
see  that  it   is  in  the  tape  I  ibrary,  and 
on  a  disk.  Ask  for  it,    in  ant  ic  i  pat  ion 
of  getting  models  of  the  Basic 
programming  to  drive  it,    in  the  next 
issue  of  the  news! etter. 

Kristien  Bo isvert  has  added  several 
utilities  to  the  BytePower  Disk  Utility 
Software  ( DUS )  suite  of  programs  (Disk 
#32  in  our  Larken  library),  and  has 
compl eted  the  instruct  ion  manual.  There 
are  about  6  new  utilities.  This 
BytePower  suite  is  in  the  public  domain. 
The  updated  version  U.O  replaces  the 
original  version  in  our  library.  Ask  for 
it. 

We  have  added  a  suite  of  4 
d i sassembl er  programs  written  by  Ken 
Shoenberger,   to  Disk  #17 
( Assmb I ers/ D i sassembl ers ).   I  have 
exper imented  only  a  bit  with  them.  We 
shall  have  to  get  a  review  of  them  for 
a  news  I etter  article.  Ask  for  this  disk, 
al  so. 

Ask  for  it.   That's  the  name  of  the 
game.   I  have  so  much  resource  material 
around  that  I  cannot  possibly  list  it 
all.   If  you  need  something,  ask  whether 
I  have  it  ,   or  can  find  it.  Chances  are 
that  I  may  be    able  to  do  so.  But  if  you 
don't  aks,  you'll  never  know! 

Some  of  you  have  asked  for  an 
updating  of  what  is  in  the  Larken 
Library.   I  think  I'll  have  to  start  a 
series  of  articles  for  the  news  I etter , 
covering  just  what  is  in  the  library. 
But  for  the  moment  I'll  just  mention 
that  while  the  catalogue  lists  UO  disks, 
we  have  several  more  in  the  library. 
There  is  Disk  #U1 ,  Bob  Swoger's  LOGICALL 
(A  disk  management  system);  Disk  #U-2,  a 
Tasword  utilities  suite  by  Larry 
Crawford;  Disk  #U3,   a  unique  2068 
ut  i I  it  ies  suite  by  Bill  Pederson;  and 
Disk  #44,  a  Graphics  and  Screen  Copy 
Utilities  suite  for  the  2U—pin  printer 
by  Larry  Crawford.  And  there  will  be 
more  forthcoming  this  fall. 


If 

Sorry,   earlier  when  I  was  ment  ion  ing 
new  newsletter,    I  failed  to  mention  the 
new  T/SNUG  newsletter,    "ZXir  Ql  ive 
Alive".   I  ment  ioned  it  in  the  last 
news  I etter .   We've  received  a  second 
issue,   and  it  looks  good.  The 
subscr  ipt  ion  for  it  is  $15/ year  for 
clubs,   and  $12/ year  for  individual 
member sh ips.    Think  I've  got  that  right* 
The  Editor  is  Donald  Lambert.  His 
address  is: 

Don  Lambert 

1301  K ibl  inger  Place 

Auburn,    IN  46706 

His  phone  number  is  (219)  925  1372. 
Give  him  a  cai I . 

Don  is  working  with  Bob  Swoger  to  get 
this  off  the  ground.    TTSUC  is  sending  in 
our  club  subscr  ipt  ion.   We  encourage  you 
to  consider  ind iv  idual  subscr  ipt  ions  J 

Sorry  to  report  that  Renato  Zannese, 
one  of  our  I ongstand ing  members  has 
moved  on  to  the  "other  mach ines"  world. 
We  wish  him  well,   even  though  at  the 
same  time  I'm  sorry  to  see  him  leave. 
Ranato  was  our  TS2068  tape  I ibrar ian. 

"  j 

Oddly  enough,   our  tape  library  is 
pretty  quite  these  days.  Don't  know  what 
it  is.  Maybe  the  more 

energet  ic/enthus  iast  ic  members  have  gone 
to  disk.   There's  a  bit  of  pity  to  that, 
though.   There's  a  lot  of  good  stuff  on 
tape,   that  will  probably  never  make  it 
to  disk.   I  know  that  I  have  not  perused 
all  the  programs  on  tape.    There  was  a 
time  when  it  came  pouring  in  in  such 
quantity  that  I  was  only  able  to  get  it 
onto  tape;  never  enough  time  to  see  what 
it  was. 

That's  about  all  for  this  letter. 
I've  really  run  dry. 

S  incerel y 
George  Chambers